如何为每个Log4j日志级别指定特定格式

时间:2015-07-09 13:54:08

标签: java log4j

第一次尝试使用log4j版本log4j-1.2.17.jar。 在现有应用程序上,客户端已安装log4j,并且有一个 log4j.properties 文件,用于指定轻型日志输出。我想要做的是取决于日志级别(ERROR& WARN)输出更精确的条目。

在log4j网站上,我遇到了这个,但我认为它是在一些 .xml 文件中。我需要一些帮助来理解如何根据日志级别设置格式化选项以进行更改。

You don't need to declare separate loggers to achieve this. You can set the logging level on the AppenderRef element.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <File name="file" fileName="app.log">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
      </PatternLayout>
    </File>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%m%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="file" level="DEBUG"/>
      <AppenderRef ref="STDOUT" level="INFO"/>
    </Root>
  </Loggers>
</Configuration>
  1. 我会将此xml内容放入web.xml文件或其他文件吗?
  2. a)如果另一个文件是什么文件名,它会去哪里?
  3. 如何让log4j意识到我需要它来使用xml文件?
  4. 使用xml会忽略log4j.properties文件吗?
  5. 我知道这是很多问题,但项目中只有我,客户有生产危机需要今天弄清楚,所以我没有时间去阅读和做教程客户每小时给我打电话。我认为这可能有助于使这种日志记录更有用。由于日志现在是我的日期和消息输出到日志,但不知道创建条目的位置,而不通过代码进行大量搜索。

1 个答案:

答案 0 :(得分:0)

您可以通过定义多个非加性记录器来完成此操作,以便第一个记录错误,下一个警告和最后一个信息和调试。