fat*_*zzy 59 java apache logging log4j
有没有办法告诉log4j将其日志写入文件和控制台?谢谢有我的属性:
log4j.rootLogger=DEBUG,console,R
log4j.rootLogger=INFO, FILE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log4j.log
log4j.appender.FILE.MaxFileSize=512KB
log4j.appender.FILE.MaxBackupIndex=3
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
Run Code Online (Sandbox Code Playgroud)
Ste*_*ker 69
您的根记录器定义有点混乱.请参阅log4j文档.
这是标准的Java属性文件,这意味着将行视为键=值对.你的第二log4j.rootLogger
行是覆盖第一行,这就解释了为什么你没有在console
appender 上看到任何东西.
您需要将两个rootLogger
定义合并为一个.看起来您正在尝试将DEBUG
消息发送到控制台并将INFO
消息发送到该文件.根记录器只能有一个级别,因此您需要更改配置,以便appender具有适当的级别.
虽然我没有证实这是正确的,但我猜它看起来像这样:
log4j.rootLogger=DEBUG,console,file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
Run Code Online (Sandbox Code Playgroud)
请注意,套管中也有错误 - 您在一个地方有控制台小写,在另一个地方有CAPS.
ram*_*har 35
# Define the types of logger and level of logging
log4j.rootLogger = DEBUG,console, FILE
# Define the File appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Define Console Appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
# Define the layout for console appender. If you do not
# define it, you will get an error
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# Set the name of the file
log4j.appender.FILE.File=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
Run Code Online (Sandbox Code Playgroud)
小智 7
这适用于调试模式下的控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
Run Code Online (Sandbox Code Playgroud)