[英]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.