“Log4j 的 FileAppender 配置”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第35行: | 第35行: | ||
另外:原来在 Windows 上,<code>log4j.appender.file.file = /logs/log4j.log</code> 中的 “<code>/logs/log4j.log</code>”就指到了程序所在的磁盘根目录“E:\logs\log4j.log” | 另外:原来在 Windows 上,<code>log4j.appender.file.file = /logs/log4j.log</code> 中的 “<code>/logs/log4j.log</code>”就指到了程序所在的磁盘根目录“E:\logs\log4j.log” | ||
+ | |||
+ | log4j.log:<syntaxhighlight lang="console"> | ||
+ | [INFO ]0 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:24) 2023-02-24 17:46:59.040 hello log4j | ||
+ | [FATAL ]2 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:27) 2023-02-24 17:46:59.042 fatal | ||
+ | [ERROR ]2 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:29) 2023-02-24 17:46:59.042 error | ||
+ | [WARN ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:30) 2023-02-24 17:46:59.043 warn | ||
+ | [INFO ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:31) 2023-02-24 17:46:59.043 info | ||
+ | [DEBUG ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:32) 2023-02-24 17:46:59.043 debug | ||
+ | [DEBUG ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:34) 2023-02-24 17:46:59.043 trace | ||
+ | </syntaxhighlight> |
2023年2月24日 (五) 09:58的版本
https://www.bilibili.com/video/BV1iJ411H74S?p=15
log4j.properties
# 指定 RootLogger 顶级父元素默认配置信息
# 指定日志级别=trace,使用的 appender 为 console
log4j.rootLogger = trace,console,file
# 指定控制台日志输出的 appender
log4j.appender.console = org.apache.log4j.ConsoleAppender
# 指定消息格式 layout
log4j.appender.console.layout = org.apache.log4j.PatternLayout
# 指定消息格式的内容
log4j.appender.console.layout.ConversionPattern = [%-10p]%r %l %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
# 日志文件输出的 appender 对象
log4j.appender.file = org.apache.log4j.FileAppender
# 指定消息格式 layout
log4j.appender.file.layout = org.apache.log4j.PatternLayout
# 指定消息格式的内容
log4j.appender.file.layout.ConversionPattern = [%-10p]%r %l %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
# 指定日志文件的保存路径
log4j.appender.file.file = /logs/log4j.log
# 指定日志文件的字符集
log4j.appender.file.encoding = UTF-8
log4j.rootLogger = trace,console,file
为 rootLogger 追加了一个 name 为 file 的 appender
log4j.appender.file = org.apache.log4j.FileAppender
声明了一个 name 为 file 的 FileAppender 类型的 appender
log4j.appender.file.file = /logs/log4j.log
通过 OGNL 为 name 为 file 的 appender 指定了属性 file 的值为 “/logs/log4j.log”
log4j.appender.file.encoding = UTF-8
通过 OGNL 为 name 为 file 的 FileAppender 设置继承自父类 WriterAppender 的字符集编码属性 encoding 的值让日志文件不乱码
另外:原来在 Windows 上,log4j.appender.file.file = /logs/log4j.log
中的 “/logs/log4j.log
”就指到了程序所在的磁盘根目录“E:\logs\log4j.log”
log4j.log:
[INFO ]0 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:24) 2023-02-24 17:46:59.040 hello log4j
[FATAL ]2 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:27) 2023-02-24 17:46:59.042 fatal
[ERROR ]2 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:29) 2023-02-24 17:46:59.042 error
[WARN ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:30) 2023-02-24 17:46:59.043 warn
[INFO ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:31) 2023-02-24 17:46:59.043 info
[DEBUG ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:32) 2023-02-24 17:46:59.043 debug
[DEBUG ]3 io.github.jihch.Log4jTest.testQuick(Log4jTest.java:34) 2023-02-24 17:46:59.043 trace