2016-12-19 1 views
0

内のエントリのフォーマットではありません設定ファイルを使った変更は、コンソール出力にのみ反映されます。 syslogにLog4cplusは、重大度が初めてとなるのでそのように、私はsyslogの余分なファイルにフォーマットエントリにLog4cplusを作りたいのsyslogや余分なファイル

、変更すると、この形式になっていない書式設定:余分なファイルで

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 

設定ファイルをフォーマットすると、コンソールでのみ表示されます置く。

コンソール、syslog、余分なファイルなど、すべてのメディアですべてのログを一貫性を持たせるにはどうすればよいですか?

+0

これはどのバージョンのlog4cplusですか? – wilx

答えて

0

は、私が設計されて、それが働いていると思うあなただけの誤解syslogの出力:私はDec 19 15:19:34 e97ed7deb530 myApp:の全体が、自身のsyslogを追加するものであると信じてい

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

。残りはあなたが指定したレイアウトに従います。 ERROR [361] myApp.cpp - This is a ERROR message%-5p [%T] %b %x - %m%nと一致します。

ローリングファイルの場合、特定のレイアウトであるTTCCLayoutが指定されています。あなたは特定のタイムスタンプを要求し、それを取得します。残りはスレッドID、ログレベルなどです

関連する問題