行业资讯 2025年08月6日
0 收藏 0 点赞 175 浏览 2550 个字
摘要 :

文章目录 1. 简单的日志格式 2. 左对齐的日志级别 3. 打印包信息 5. 自定义日期模式 6. 详细的文件名、方法名和行号 7. 完全详细的信息 本篇Log4j2教程列出了一些实用……




  • 1. 简单的日志格式
  • 2. 左对齐的日志级别
  • 3. 打印包信息
  • 5. 自定义日期模式
  • 6. 详细的文件名、方法名和行号
  • 7. 完全详细的信息

本篇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.zuozi.net/9572.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号