我每次寫日誌都比較傾向於用log4j的日誌框架,但是裏面的配置我仔細分析過幾次還是丈二的和尚摸不着頭腦,今天猛然發現了一個寫的很全面的log4j的介紹,特地抱過來。
參見大神博客:原文鏈接
今天在IDEA中的springboot項目裏的log.properties中添加了:
ImmediateFlush=true
Target=System.err
加上了這兩句話,打印在控制檯的日誌顏色都換了新裝,對比如下:
沒加這兩句之前:
加了之後:
經過嘗試我才知道這個變化和ImmediateFlush=true(表示所有消息都會被立即輸出,設爲false則不輸出,默認值是true)沒有關係,冤枉人家了,真正的幕後黑手是:Target=System.err
當我看到了大神的博客之後:
把Target=System.err改爲了Target=System.out(默認),又回覆了黑體字的日誌。好神奇有木有!!!
特此記錄!!!
最後我的log4j的配置如下:
log4j.rootLogger=DEBUG,stdout,file
log4j.additivity.org.apache=true
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.threshold=INFO
log4j.appender.stdout.ImmediateFlush=true
log4j.appender.stdout.Target=system.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] [%-5p] [%t] (%-l) - %m%n
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.append=true
log4j.appender.file.Threshold=INFO
log4j.appender.file.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.file.File=D:/tools/workspaces/logs/test.log
log4j.appender.file.layout.ConversionPattern=[%d] %-5p [%t] (%-C{5}:%L) - %m%n
#=================================================end========================================================
###每天產生一個日誌文件
#log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.maxFileSize=100
#log4j.appender.file.maxBackupIndex=5
#log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p](%-30c{1}) [TxId : %X{PtxId} , SpanId : %X{PspanId}] [ET:%X{ENV_TYPE},AN:%X{APP_NAME},SN:%X{SERVICE_NAME},CN:%X{CONTAINER_NAME},CI:%X{CONTAINER_IP}] %m%n
#log4j.appender.file.Threshold=DEBUG
#log4j.appender.file.append=true
#log4j.appender.file.File=E:/logs/debug-log.log