繁体   English   中英

为什么我的 Log4j 2Mongo appender 没有在 MongoDB4 中记录任何内容?

[英]Why my Log4j 2Mongo appender does not log anything in MongoDB4?

我正在使用 java 语言和spring框架来编写我的代码。 我决定添加一个记录器,我发现使用 Log4j2 适合我的工作。 当我开始将它与Mongodb版本 4 一起使用时,我遇到了一个我不知道问题的大问题。 实际上,它不会记录任何内容。 我的相关代码如下:

Build.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>

controller 负责记录测试:

@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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM