是否可以通过Spring Boot中的application.properties修改日志appender参数?

时间:2015-10-14 02:04:08

标签: java logging log4j spring-boot

在Spring Boot中,我可以通过application.properties文件选择/启用记录器级别:

logging.level.org.springframework=DEBUG
logging.level.org.hibernate=ERROR

但是有没有办法通过相同的配置文件修改实际的appender阈值/参数?我知道我可以通过我的log4j.xml文件直接执行此操作,但我希望能通过命令行参数轻松完成。

我尝过类似的东西(我有一个名为console的appender)

logging.appender.console.param.Threshold=DEBUG

但没有成功。

就像那样可行吗?

1 个答案:

答案 0 :(得分:1)

如果您乐意使用Logback(Spring Boot的默认和首选日志记录系统),只要您首先提供适当配置的logback-spring.xml文件,就可以通过命令行参数执行此操作

您可以在logback-spring.xml文件中引用环境中的属性(在命令行中提供,在application.properties等中提​​供)。例如:

<springProperty scope="context" name="consoleThreshold" source="logging.appender.console.param.Threshold"/>

然后,您可以使用${consoleThreshold}在同一文件中的其他位置使用该属性。

这些功能特定于Logback。可以扩展对其他日志记录系统的支持open issue。也就是说,Log4J不太可能被包含在内 - 它已经被Apache宣布为EOL,并且在Spring Boot 1.3中不赞成使用它。 Log4J 2更有可能。