1. 程式人生 > >log4j能輸出控制檯但不能輸出到檔案的問題

log4j能輸出控制檯但不能輸出到檔案的問題

最近專案裡使用log4j的時候發現log4j能輸出控制檯但不能輸出到檔案,好久沒用了,花了點時間解決了問題。話不多說先貼自己的問題log4j配置。

<span style="font-size:18px;">#
# Set root logger level to WARN, so default log is warn
# and later , i will set my project to debug
#
log4j.rootLogger=DEBUG,Console,File

# Console log config
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %10C{1} - %m%n

# File log config
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=ihrss.log
log4j.appender.File.Threshold=INFO
log4j.appender.File.MaxFileSize=100KB
log4j.appender.File.MaxBackupIndex=10
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{HH:mm:ss} %-5p %10C{1} - %m%n</span>
不知道為何死活檔案裡就是沒有日誌資料,一直都是空白的。下面是解決後的log4j配置
<span style="font-size:18px;">log4j.rootLogger=DEBUG,Console,FILE

# Console log config
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %10C{1} - %m%n

# File log config
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=ihrss.log
log4j.appender.File.Threshold=INFO
log4j.appender.File.MaxFileSize=100KB
log4j.appender.File.MaxBackupIndex=10
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{HH:mm:ss} %-5p %10C{1} - %m%n

log4j.appender.FILE=org.apache.log4j.RollingFileAppender  
log4j.appender.FILE.Append=true  
log4j.appender.FILE.File=E\:/logs/log4jtest.log  
log4j.appender.FILE.Threshold=INFO  
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout  
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n  
log4j.appender.FILE.MaxFileSize=10MB </span>

重新換了個輸出檔案配置居然可以了,服了。經過一一排查,發現是檔案輸出路徑的問題導致的,配置成相對路徑時,在eclipse 工程跟目錄下能生成相應的日誌檔案,但是web伺服器啟動時不會記錄到根目錄下的日誌檔案,因為web伺服器找不到。