log4cxxのカスタムアペンダーを作成し、プロパティファイル(組み込みのアペンダーなど)を介して構成することは可能ですか?可能であれば、log4cxxを再構築せずに(たとえば、既存のアペンダーを派生/拡張することによって)これを行うことをお勧めします。
例を挙げていただけますか?
AppenderSkeleton または WriterAppender から継承し、log4cxx を再構築することなく、同じ基本動作を取得できます。
http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/test/cpp/vectorappender.h?view=markup http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src /test/cpp/vectorappender.cpp?view=マークアップ
brlcad の提案は正しいです。私の会社では、独自のカスタム アペンダーにこの方法を使用しています。
実際、構成ファイルからこれらを既に構成できます。クラス定義の DECLARE_LOG4CXX_OBJECT(CustomAppenderClassName) などのマクロは、log4cxx 環境をセットアップします。「CustomAppenderClassName」でアペンダータイプを参照できます。カスタム アペンダーの標準レイアウトを使用して、標準およびカスタム アペンダーを示す構成ファイル (古いスタイル):
# Set "realtime" logger level to DEBUG and create two appenders - one to be
# a standard rolling file appender, the other custom.
log4j.logger.realtime=ERROR, StandardAppender, CustomAppender
# StandardAppenderis set to be a RollingFileAppender
log4j.appender.StandardAppender=org.apache.log4j.RollingFileAppender
log4j.appender.StandardAppender.File=example.log
log4j.appender.StandardAppender.MaxFileSize=100KB
# Keep one backup file
log4j.appender.StandardAppender.MaxBackupIndex=1
# StandardAppender uses PatternLayout.
log4j.appender.StandardAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.StandardAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# CustomAppender uses PatternLayout too
log4j.appender.CustomAppender=CustomAppenderClassName
log4j.appender.CustomAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.CustomAppender.layout.ConversionPattern=%m