Hi all,
I am trying to make use of RollingFileAppender.
My code is as follows:
LoggerPtr logger( Logger::getLogger("CustomLogger"));
RollingFileAppender *pAppender = new RollingFileAppender();
pAppender->setName( log4cxx::helpers::Transcoder::decode("TestAppender"));
pAppender->setFile( log4cxx::helpers::Transcoder::decode("TestLogFile.txt"));
pAppender->setAppend( true);
pAppender->setMaxBackupIndex( 5);
pAppender->setMaxFileSize( log4cxx::helpers::Transcoder::decode("5 KB"));
pAppender->setLayout( new PatternLayout(
log4cxx::helpers::Transcoder::decode("%d [%t] %-5p %c - %l - %m%n")));
logger->addAppender( fAppender);
This code is giving the error as:
"No output stream or file set for the appender named TestAppender"
But, if I create the appender as:
RollingFileAppender *pAppender = new RollingFileAppender( new PatternLayout(
log4cxx::helpers::Transcoder::decode("%d %-5p %c - %l - %m%n")),
log4cxx::helpers::Transcoder::decode("TestLogFile.txt"));
and I set the MaxBackupIndex and MaxFileSize as follows:
pAppender->setMaxBackupIndex( 5);
pAppender->setMaxFileSize( log4cxx::helpers::Transcoder::decode("5 KB"));
It works fine but, the new log file is not getting created after the
MaxFileSize (5 KB) is reached, the log messages are just getting appended to
same log file ().
Please, suggest what is going wrong here.
Thanks & Regards,
Madhu Gowda