2012-06-29 3 views

답변

1

http://sourceforge.net/projects/log4cpp/에서 log4cpp를 의미합니까?

짧은 대답은 '예'입니다.

는 여기에 몇 가지 샘플 코드, 그리고 당신은 그 문서를 기반으로 자세한 내용을 알아낼 수 : 내 코드는 실행시에 파일 기반 log4cpp 인스턴스를 구성 할

사용된다.

...
이 "이름"이 여기
가 "레이아웃", "%의 D 일 수 '루트'이고

"우선 순위 " '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; 
    } 
} 
관련 문제