2016-12-19 72 views
0

條目,這樣的嚴重性將是第一個,這樣的:Log4cplus未格式化我要讓Log4cplus在系統日誌和額外的文件格式,條目系統日誌和額外的文件

[ERROR] 2016-12-19 15:00:53.182Z [16538] int main(int, char**) | This 
is a ERROR message 

這樣的格式,以及其他任何使用我的配置文件進行的更改僅反映在控制檯輸出中。

在系統日誌,格式不發生變化,在這種格式:

Dec 19 15:19:34 e97ed7deb530 myApp: ERROR [361] myApp.cpp - This is a ERROR message 

在額外的文件,格式是不是這種格式發生變化,是:

2016-12-19 15:19:34+0000 [140675141003072] ERROR main <> - This is a ERROR message 

這裏是我的配置文件:

log4cplus.appender.syslog=log4cplus::SysLogAppender 
log4cplus.appender.syslog.layout=log4cplus::PatternLayout 
log4cplus.appender.syslog.layout.ConversionPattern=%-5p [%T] %b %x - %m%n 

log4cplus.appender.extra=log4cplus::RollingFileAppender 
log4cplus.appender.extra.File=generated/obsidian-extra.log 
log4cplus.appender.extra.MaxFileSize=200KB 
log4cplus.appender.extra.MaxBackupIndex=5 
log4cplus.appender.extra.layout=log4cplus::TTCCLayout 
log4cplus.appender.extra.layout.ContextPrinting=enabled 
log4cplus.appender.extra.layout.DateFormat=%F %T%z 

log4cplus.appender.console=log4cplus::ConsoleAppender 
log4cplus.appender.console.layout=log4cplus::PatternLayout 
log4cplus.appender.console.layout.ConversionPattern=%-5p %d{%Y-%m-%d %H:%M:%S.%q}Z [%T] %M %x - %m%n 

log4cplus.logger.main=ERROR, console 

log4cplus.logger.main=DEBUG, default, extra, syslog 
log4cplus.logger.LogTest=TRACE, extra, console, syslog 

配置文件更改爲格式,只能在控制檯中看到放。

如何使所有的媒體日誌保持一致:console,syslog和extra file?

+0

什麼版本的log4cplus是這樣的? – wilx

回答

0

我認爲這是事先設計好的,你的唯一的誤解系統日誌輸出:

Dec 19 15:19:34 e97ed7deb530 myApp: ERROR [361] myApp.cpp - This is a ERROR message 

我認爲整個的Dec 19 15:19:34 e97ed7deb530 myApp:是什麼SYSLOG本身增加。其餘的是根據你指定的佈局。 ERROR [361] myApp.cpp - This is a ERROR message匹配%-5p [%T] %b %x - %m%n

至於滾動文件,您已指定TTCCLayout,這是具體的佈局。你要求具體的時間戳,你可以得到它。其餘的是線程ID,日誌級別等。