如何使Log4j环境具体化

时间:2016-06-03 18:37:53

标签: java logging log4j logback logback-groovy

我正在尝试编辑我的日志记录配置文件,以便日志的级别根据它在开发环境或生产环境中的不同而不同,例如

开发中的

将是

<logger name="1" level="debug"/>
<logger name="2" level="debug"/>
<logger name="3" level="debug"/>

在生产中,记录器应该是

<logger name="1" level="warn"/>
<logger name="2" level="warn"/>
<logger name="3" level="warn"/>

有没有办法用环境变量和条件语句来做到这一点? 我想尽量避免使用特定于每个环境的日志文件

1 个答案:

答案 0 :(得分:1)

您只需要使用两个配置文件进行回溯,一个用于记录至少debug级别,另一个用于至少记录warning。 引自here

  
      
  1. Logback尝试在类路径中查找名为logback.groovy的文件。

  2.   
  3. 如果未找到此类文件,则logback会尝试查找名为的文件   类路径中的logback-test.xml。

  4.   
  5. 如果找不到这样的文件,它会检查文件中的logback.xml   类路径..

  6.   

实际上有4和5,但这足以解释。 所以基本上使用logback-test.xml代表dev,logback.xml代表prod。当然,不要将logback-test.xml部署到prod。