java - Log4j - 记录内部 Log4j 事件
问题描述
我对 log4j 设置有一些问题。
为了解决它们,我在 log4j 属性中启用了内部 log4j 日志记录:
log4j.debug=true
它正在工作,因为我在控制台中得到这样的日志,这很好:
log4j: Parsing for [root] with value=[DEBUG, console, rollingFile, test].
log4j: enter code here`: Level token is [DEBUG].
log4j: Category root set to DEBUG
log4j: Parsing appender named "console".
log4j: Parsing layout options for "console".
现在我需要将这些日志也保存到文件中。我添加了适用于其他日志的 FileAppender,但不保存内部 log4j 日志。
整个 log4j 配置:
#log4j.category.org.hibernate=INFO, hibernate
log4j.category.org.hibernate.SQL=ERROR, hibernate
#log4j.category.org.hibernate.type=ALL, hibernate
log4j.additivity.org.hibernate.SQL=false
#Root logger setting
log4j.rootLogger=DEBUG, console, rollingFile, test
#Appenders configurations.
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d{yyyyMMdd HH:mm:ss.SSS} %5p [%t] (%F:%L) - %m%n
log4j.appender.rollingFile=eu.unicorn.pcr.broker.logging.CustodianDailyRollingFileAppender
log4j.appender.rollingFile.File=${catalina.home}/logs/pcr-app.log
log4j.appender.rollingFile.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.rollingFile.MaxNumberOfDays=10
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.conversionPattern=%d{yyyyMMdd HH:mm:ss.SSS} %5p [%t] (%F:%L) - %m%n
#apender for stress request logging
log4j.appender.stressTest=org.apache.log4j.DailyRollingFileAppender
log4j.appender.stressTest.File=${catalina.home}/logs/requests.log
log4j.appender.stressTest.MaxBackupIndex=10
log4j.appender.stressTest.layout = org.apache.log4j.PatternLayout
log4j.appender.stressTest.layout.conversionPattern=%d{HH:mm:ss.SSS} [%t] - %m%n
log4j.category.stressTestLogger=TRACE, stressTest
log4j.additivty.stressTestLogger=false
log4j.appender.hibernate=org.apache.log4j.RollingFileAppender
log4j.appender.hibernate.File=${catalina.home}/logs/hibernate.log
log4j.appender.hibernate.MaxFileSize=20MB
log4j.appender.hibernate.MaxBackupIndex=10
log4j.appender.hibernate.layout = org.apache.log4j.PatternLayout
log4j.appender.hibernate.layout.conversionPattern=%d{yyyyMMdd HH:mm:ss.SSS} [%t] (%F:%L) - %m%n
# Define the test file appender
log4j.appender.test=org.apache.log4j.FileAppender
log4j.appender.test.File=${catalina.home}/logs/test.log
log4j.appender.test.ImmediateFlush=true
log4j.appender.test.Threshold=debug
log4j.appender.test.Append=false
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.conversionPattern=%m%n
log4j.debug=true
任何提示如何设置内部 log4j 日志也将保存在文件中?很高兴有任何提示。
解决方案
如果要将日志保存在文件中,则必须为此使用属性。
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
推荐阅读
- node.js - multer req.file 在上传时返回 undefined
- scala - 如何正确使用Scala类型Either或Option
- r - 检查连续 0 的数量并根据它们的计数替换它们
- xpath - xquery/xpath 比较除特定节点之外的所有节点
- reactjs - 将 MUI 主题应用于创建的 DOM 节点
- javascript - 将评论动态预填充到聊天框中
- javascript - Fabric.js 将图像混合到背景中。边缘模糊
- reactjs - 调用 Webpack 时无法为 React 项目中的 Bryntum 调度程序获取共享库/资源
- java - 如何使用流将列表类型 A 和 B 的元素复制到新的列表类型 C
- windows - 带有 SFTP 的 Sublime Text:忽略 SSH 密钥文件 (Windows)