Log4j2几种实用的日志输出格式

后端 潘老师 4个月前 (10-26) 88 ℃ (0) 扫码查看

本篇Log4j2教程列出了一些实用且常用的log4j2日志输出格式供您参考,这样我们就不必每次创建/编辑log4j配置时都浪费时间构建这些模式了。

这里要提一下,我们使用以下log格式模式布局。请注意模式属性。log4j2.xml:

<Configuration status="warn">
    <Appenders>
        <!-- Console appender 配置-->
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout
                pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </Console>
    </Appenders>
    <Loggers>
        <!-- Root logger referring to console appender -->
        <Root level="info" additivity="false">
            <AppenderRef ref="console" />
        </Root>
    </Loggers>
</Configuration>

为了演示,我们使用以下日志语句生成日志。

LOGGER.debug("Debug Message Logged !!");
LOGGER.info("Info Message Logged !!");

针对日志输出格式(pattern属性取值),我们总结了实用的7种模式,具体如下。

1. 简单的日志格式

%d [%p] %c{1} - %m%n

用于简单的日志记录,即日期、级别、记录器、消息。它将生成以下日志格式。

2016-06-20 19:18:02,958 [DEBUG] Log4j2HelloWorldExample - Debug Message Logged !!
2016-06-20 19:18:02,959 [INFO] Log4j2HelloWorldExample - Info Message Logged !!

2. 左对齐的日志级别

%d [%-6p] %c{1} - %m%n

使用[%-6p],日志级别应左对齐到六个字符的宽度。用于简单记录带有美观打印的日志级别。它将生成以下日志格式输出:

2016-06-20 19:21:05,271 [DEBUG ] Log4j2HelloWorldExample - Debug Message Logged !!
2016-06-20 19:21:05,272 [INFO   ] Log4j2HelloWorldExample - Info Message Logged !!

3. 打印包信息

%d [%-6p] %c{1} - %m%n

使用%c{1}打印完整的包级别。它将生成以下日志格式输出:

2016-06-20 19:22:05,379 [DEBUG ] com.panziye.log4j2.examples.Log4j2HelloWorldExample - Debug Message Logged !!
2016-06-20 19:22:05,380 [INFO  ] com.panziye.log4j2.examples.Log4j2HelloWorldExample - Info Message Logged !!

%c{3}将打印最多两个级别的包级别。

2016-06-20 19:23:48,202 [DEBUG ] log4j2.examples.Log4j2HelloWorldExample - Debug Message Logged !!
2016-06-20 19:23:48,204 [INFO  ] log4j2.examples.Log4j2HelloWorldExample - Info Message Logged !!

5. 自定义日期模式

%d{yyyy/MM/dd HH:mm:ss,SSS} [%-6p] %c{1} - %m%n

用于自定义日期格式。它将生成以下日志格式输出:

2016/06/20 19:24:45,076 [DEBUG ] Log4j2HelloWorldExample - Debug Message Logged !!
2016/06/20 19:24:45,078 [INFO  ] Log4j2HelloWorldExample - Info Message Logged !!

6. 详细的文件名、方法名和行号

%d [%-6p] %C{1}.%M(%F:%L) - %m%n

用于调用方类、方法、源文件和行号。它将生成以下日志格式输出:

2016-06-20 19:25:42,249 [DEBUG ] Log4j2HelloWorldExample.methodOne(Log4j2HelloWorldExample.java:14) - Debug Message Logged !!
2016-06-20 19:25:42,251 [INFO  ] Log4j2HelloWorldExample.methodOne(Log4j2HelloWorldExample.java:15) - Info Message Logged !!

7. 完全详细的信息

%sn %d{yyyy/MM/dd HH:mm:ss,SSS} %r [%-6p] [%t] %c{3} %C{3}.%M(%F:%L) - %m%n

覆盖了上面讨论的所有格式样式,它将生成以下日志格式输出:

1 2016/06/20 19:27:03,595 620 [DEBUG ] [main] log4j2.examples.Log4j2HelloWorldExample log4j2.examples.Log4j2HelloWorldExample.main(Log4j2HelloWorldExample.java:14) - Debug Message Logged !!
2 2016/06/20 19:27:03,597 622 [INFO  ] [main] log4j2.examples.Log4j2HelloWorldExample log4j2.examples.Log4j2HelloWorldExample.main(Log4j2HelloWorldExample.java:15) - Info Message Logged !!

您可以根据需要随意更改和使用任何实用的日志输出格式。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10401.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】