为什么我的log4j2mongo appender不在mongodb4中记录任何东西?

ygya80vv  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(141)

我使用java语言和spring框架来编写代码。我决定添加一个记录器,我发现使用log4j2适合我的工作。当我开始在mongodb版本4中使用它时,我遇到了一个大问题,我不知道这个问题。实际上,它没有记录任何东西。我的相关代码如下:
内部版本.gradle:

implementation group: 'org.mongodb', name: 'mongo-java-driver', version: '3.12.7'
        implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.14.0'
        implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.14.0'
        implementation group: 'org.apache.logging.log4j', name: 'log4j-nosql', version: '2.9.1'

log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <NoSql name="MongoDbAppender">
            <MongoDb4 connection="mongodb://mongouser:mongoPassword@mongoServer:mongoServerPort/dbName.collectanName" />
        </NoSql>
    </Appenders>
    <Loggers>
        <Root level="َALL">
            <AppenderRef ref="MongoDbAppender"/>
        </Root>
        <Logger name="MongoDbAppender" level="DEBUG">
            <AppenderRef ref="MongoDbAppender"/>
        </Logger>
    </Loggers>
</Configuration>

负责记录测试的控制器:

@GetMapping("/api/test")
    public ResponseEntity<String> test() {
        final Logger logger = LogManager.getLogger(EventController.class);
        logger.error("Hello");
        return new ResponseEntity<>("OK", HttpStatus.OK);

    }

需要注意的是,我使用intellij idea作为ide,gradle作为构建工具。当我尝试使用上述api测试记录器时,只有控制台写入日志,而没有将其插入mongodb。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题