0
프로그래밍 방식으로 log4cpp를 구성 할 수 있습니까?프로그래밍 방식으로 log4cpp를 구성하는 방법?
다음 구성 파일을 제공하여 구성되므로 구성하고 싶습니다.
appender root basic console
priority root DEBUG
프로그래밍 방식으로 log4cpp를 구성 할 수 있습니까?프로그래밍 방식으로 log4cpp를 구성하는 방법?
다음 구성 파일을 제공하여 구성되므로 구성하고 싶습니다.
appender root basic console
priority root DEBUG
http://sourceforge.net/projects/log4cpp/에서 log4cpp를 의미합니까?
짧은 대답은 '예'입니다.
는 여기에 몇 가지 샘플 코드, 그리고 당신은 그 문서를 기반으로 자세한 내용을 알아낼 수 : 내 코드는 실행시에 파일 기반 log4cpp 인스턴스를 구성 할
사용된다.
..."우선 순위 " 'DEBUG'이다 {% Y- % M- % D % H %의 M : % S} % c % x : % m % n "
// Create RollingFileAppender
log4cpp::Appender *rfileAppender = new log4cpp::RollingFileAppender(std::string(name),
std::string(fileName),
maxFileSize,
maxBackupIndex,
append,
mode);
if (rfileAppender != NULL)
{
// Create PatternLayout
log4cpp::Layout *layout = new log4cpp::PatternLayout();
if (layout != NULL)
{
try
{
// Set up Pattern
((log4cpp::PatternLayout *)layout)->setConversionPattern(std::string(layoutPattern));
// Bind Layout to RollingFileAppender
rfileAppender->setLayout(layout);
category.setAdditivity(additivity);
try
{
category.setPriority(log4cpp::Priority::getPriorityValue(std::string(priority)));
}
catch(std::invalid_argument &ia)
{
std::cerr << "Invalid Priority: " << priority << std::endl;
category.setPriority(log4cpp::Priority::INFO);
}
// Bind RollingFileAppender to Category
category.addAppender(rfileAppender);
return 0;
}
catch(log4cpp::ConfigureFailure &cf)
{
std::cerr << cf.what() << std::endl;
return 1;
}
}
else
{
std::cerr << "Cannot initialize PatternLayout" << std::endl;
return 1;
}
}