log4cplus (log4j に似ているため、私のタグ) ライブラリを試しています。
プロパティ ファイルから、次のようにロガー レベルをその親に依存させることは可能ですか。
- parent=INFO & child=WARN の場合、子はメッセージをログに記録する必要があります >= "WARN"
- parent=OFF & child=WARN の場合、子はメッセージをログに記録しません。
- parent.parent=ALL & parent=WARN & child=INFO の場合、子はメッセージをログに記録する必要があります >= WARN
- parent.parent=OFF & parent=ALL & child=WARN の場合、parent.parent が原因でメッセージをログに記録する必要はありません。
以下の私のコードでは、結果は次のとおりです(そして間違っています!)
- parent=WARN & child=FATAL 、子は WARN メッセージをログに記録しています
- parent=OFF & child=WARN 、子はメッセージをログに記録しています。
私のプロパティファイル - log.properties:
log4cplus.logger.cpuLoad=WARN, FILEAPPENDER
log4cplus.logger.cpuLoad.child=FATAL, FILEAPPENDER
log4cplus.additivity.cpuLoad.child=false
log4cplus.appender.FILEAPPENDER=log4cplus::RollingFileAppender
log4cplus.appender.FILEAPPENDER.File=./cpuLoad.log
log4cplus.appender.FILEAPPENDER.MaxFileSize=1MB
log4cplus.appender.FILEAPPENDER.layout=log4cplus::PatternLayout
log4cplus.appender.FILEAPPENDER.layout.ConversionPattern=%d{%m/%d/%y %H:%M:%S} %-5p %c{2} – %m%n
私のC++コード - main.cpp:
Logger loggerCpu = Logger::getInstance("cpuLoad");
Logger loggerCpuChild = Logger::getInstance("cpuLoad.child");
LOG4CPLUS_WARN(loggerCpu, "hello from loggerCpu");
LOG4CPLUS_WARN(loggerCpuChild, "hello from loggerCpuChild" );
これを log4cplus ライブラリ自体から、そして主にプロパティ ファイルから機能させたいと考えています。getParent() を使用できるように、この親子関係も必要です。前もって感謝します!