【问题标题】:How to make Log4j environment specific如何使 Log4j 环境特定
【发布时间】:2016-06-03 18:37:52
【问题描述】:

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

在开发中将是

<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"/>

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

【问题讨论】:

  • 通常每个环境都有不同的文件,要么在构建+部署脚本中重命名它,要么在启动时选择它,如stackoverflow.com/questions/3120446/…
  • 所以没有办法做一个 if 语句来说明环境是否是什么?

标签: java logging log4j logback logback-groovy


【解决方案1】:

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

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

  2. 如果没有找到这样的文件,logback 会尝试找到一个名为 类路径中的 logback-test.xml。

  3. 如果没有找到这样的文件,它会检查文件 logback.xml 在 类路径..

实际上有 4 和 5,但这已经足够解释了。 所以基本上将logback-test.xml 用于开发,logback.xml 用于生产。当然,不要将logback-test.xml 部署到产品中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多