有什么办法可以根据配置将spring boot日志记录配置到多个文件/控制台吗?即某些日志语句应写入审计文件,而正常的日志语句应写入控制台/普通日志文件 .
下面是我在spring boot示例应用程序中尝试过的代码 .
的logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="file" level="DEBUG" additivity="false">
<appender-ref ref="FILE" />
</logger>
<logger name="org.hello" level="ERROR" additivity="false">
<appender-ref ref="CONSOLE" />
</logger>
</configuration>
下面是application.properties条目
logging.level.org.springframework.web=INFO
logging.file=logs/spring-boot-logging.log
在HelloController下面
@RestController
public class HelloController {
Logger logger = LoggerFactory.getLogger(HelloController.class);
Logger logger1 = LoggerFactory.getLogger("file");
@RequestMapping("/")
public String index() {
logger.info("My Log test");
logger1.info("My Audit test");
return "Greetings from Spring Boot!";
}
}
有人可以帮忙吗?有没有人面临类似的情况?
非常感谢
2 回答
标准的logback示例,包含不同包的2个文件转到不同的文件:
只需在配置文件中添加另一个logger和appender,并使用配置中定义的Logger名称创建logger对象 . 有关更多说明,请查看Spring boot multiple log files