面试题答案
一键面试日志级别
- 作用:决定哪些日志信息会被记录。不同级别(从低到高:
DEBUG
、INFO
、WARN
、ERROR
、FATAL
)代表不同严重程度的日志,设置某一级别后,只有该级别及更高级别的日志才会被处理。 - 配置方式:在
log4j.properties
文件中,对每个Appender
可分别设置日志级别,例如:
log4j.appender.consoleLog=org.apache.log4j.ConsoleAppender
log4j.appender.consoleLog.Threshold=DEBUG
上述代码设置了名为consoleLog
的控制台Appender
的日志级别为DEBUG
。
输出格式
- 作用:定义日志记录呈现的样式,方便阅读和分析,例如可包含时间、类名、日志级别、日志信息等元素。
- 配置方式:使用
PatternLayout
来定义输出格式,以控制台Appender
为例:
log4j.appender.consoleLog.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleLog.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
ConversionPattern
中的%r
表示自应用启动到输出该日志所经过的毫秒数;%t
为线程名;%p
是日志级别;%c
是记录日志的类名;%x
为嵌套诊断上下文;%m
是日志信息;%n
是换行符。
输出路径(仅针对文件输出Appender)
- 作用:指定日志文件存储的位置,便于集中管理和查看历史日志。
- 配置方式:对于文件输出的
Appender
,例如:
log4j.appender.fileLog=org.apache.log4j.FileAppender
log4j.appender.fileLog.File=/var/log/myapp.log
上述代码将名为fileLog
的文件Appender
的输出路径设置为/var/log/myapp.log
。如果是滚动文件Appender
(如RollingFileAppender
),还可配置文件滚动策略等相关参数,如:
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=/var/log/myapp.log
log4j.appender.rollingFile.MaxFileSize=10MB
log4j.appender.rollingFile.MaxBackupIndex=10
这里设置了最大文件大小为10MB,最多保留10个备份文件。