我使用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。
暂无答案!
目前还没有任何答案,快来回答吧!