EasyLogging ++ 연구 노트 (1) - 소개

개발에 경험이있는 프로그래머를 들어, 실행 로그 기록 프로그램이 필요한 것입니다. 보기 및 로그 정보를 분석함으로써뿐만 아니라 효과적으로 우리가 디버거 도움이 될 수 있습니다, 프로그램은 공식적으로 실행에 공개 할 때,하지만 신속하고 정확하게 문제를 찾는 데 도움이 있습니다. 오픈 소스의 시대, 우리는 로그 데이터베이스의 자신의 세트를 작성할 필요가 없습니다, 오픈 소스 버전을 많이하고있다. 불행하게도, 현재 오픈 소스 C ++ 라이브러리 저널과의 지배적 인 점유율을 사용하지, 나는 이전에 사용 log4cplusGLog가 , 두 라이브러리는 더 성숙뿐만 아니라 온라인 자습서를 많이 그래서 항상 나는이 두 개의 로그 데이터베이스를 사용하도록 좋아했다.

 

몇 시간 전, 나는 또 다른 오픈 소스 C ++ 단지 피상적 인 연구 도서관이었다 로그인 GitHub의에 걸쳐 온, 결과는 실제로 ++는 Easylogging입니다, 내가 그것을 내려 놓고 보자. 그리고 log4cplus과 비교 GLog가 가장 큰 특징을 Easylogging 것은 단지 ++ 헤더 파일이라고하고, 내가 로깅 라이브러리가 너무 가볍고 할뿐만 아니라 계정으로 성능을 취할 수 본 적이 외부 의존성없이. 또한, Easylogging ++ 매우 간단한 사용, 또한, 구성 파일을 지원하는 타사 라이브러리, STL 컨테이너에 대한 지원을 제공합니다 사용자 정의 로그 형식으로 강력한 기능을 제공합니다. 오픈 소스 로그를 냉각 등에 직면하는 방법을 배울 수 있습니다! ! !

 

GitHub의 오픈 소스 주소에 ++ 프로젝트를 Easylogging : https://github.com/easylogging/easyloggingpp

 

기능 특성

  • 고도로 구성
  • 매우 빠른
  • 그리고 보안 실의 종류
  • 크로스 플랫폼
  • 사용자 정의 로그 모드
  • 조건 로그 가끔 로그
  • 성능 추적
  • 자세한 로깅
  • 인터럽트 처리
  • 보조 CHECK 매크로
  • STL 로그
  • 로그인 타사 라이브러리 (예 : Qt는 등, 부스트, wxWidgets에)
  • 확장 성
  • 디버그 지원 기능
  • 시스템 로깅
  • perror는 스타일 로그
  • C ++ 스타일의 흐름 운영자 로그
  • C 언어의 printf 스타일 로그
  •  ......
 
흔적
 

이 글을 쓰고있는 현재, 최신 Easylogging ++ 버전 V9.80, 컴파일러는 지원하지 않는 경우 C ++ (11),이 컴파일 할 수 없습니다. 비주얼 스튜디오 시리즈의 경우, VS2012 이상 또는 작업해야합니다. 만약 아직 VS2010, VS2008, VS2005 주니어 파트너에있어, 사용을 고려 EasyLogging ++ V8.91의 버전. 다른 버전의 용도 및 기능 지원 달라질 수 있음을 유의해야한다. 특히, 배울 수있는이 시리즈의 모든 레코드 만 Easylogging ++ 버전 V9.80에 적용됩니다. 또한, 기사의이 시리즈에서 나타나는 모든 데모 코드는 아래에 비주얼 스튜디오 2013 64 비트 윈도우 7 시스템을 사용하여 컴파일 테스트하는 것입니다.

 

빨리

 

앞서 언급 한 바와 같이, Easylogging ++ 매우 간단는 점에 간단한 사용 하는가? 여기에서 우리는 GitHub의 코드에 대한 예제를 제공하고 있습니다 :

사용법 #include " . easylogging ++ H는 "   
  
INITIALIZE_EASYLOGGINGPP을   
  
int로 주 ( INT의 ARGV,  * 는 argc []) {   
   LOG (INFO) << " 기본 로거를 사용하여 내 최초의 로그 정보 " ;  
   반환  0 ;  
}  

샘플 코드, 한눈에 코드의 각 라인의 역할의 몇 줄 :

  • 그것은 ++ easylogging 포함되어 있습니다. H 헤더 파일을
  • 매크로 INITIALIZE_EASYLOGGINGPP를 사용하여  초기화를
  • 로깅을 시작 매크로 LOG (INFO)를 사용하여
그것은 간단, 단지 세 가지 단계를 수행하여 로깅을 완료하는 것입니다. 특히 초기화 매크로 INITIALIZE_EASYLOGGINGPP이 그렇지 않으면 컴파일 오류가 발생합니다 사용되어야하며, 한 번만 사용될 수 있음을 유의해야한다. 바로 코드 헤더 파일 후 파일이 기능의 상단에있는이 초기화 매크로 프로그램 항목이 포함되어 최고의 장소.
 
사용자 정의 로그
 
Easylogging ++ 강력한 사용자 정의 로그 형식 기능은 의심 할 여지없이, 우리는 당신이 로그 형식을 원하는 것을 정의하는 매크로 정의를 구성하는 구성 파일, 구성 매개 변수 등을 통해 할 수 있습니다. 다음은에 의해 정의 된 로그에서 구성 파일의 예입니다 : 
#INCLUDE " . easylogging ++ h는 "   
  
INITIALIZE_EASYLOGGINGPP는   
  
int로 주 ( INT의 는 argc를, 문자 ** ARGV)   
{   
    엘 :: 구성의 conf ( " my_log.conf " );  
    엘 :: 로거 :: reconfigureAllLoggers (conf의);  
  
    LOG (TRACE)    << " ***** 추적 로그 ***** " ;  
    LOG (DEBUG)    << " ***** 디버그 로그 ***** " ;  
    LOG (ERROR)    << " ***** ***** 에러 로그 " ;  " ***** 경고 로그 ***** " ;  
    LOG (INFO)     << " ***** 정보 로그 ***** " ;  
  
    시스템 ( " 정지 " );  
    반환  0 ;  
}  

 

다음 개요는 my_log.conf 읽는 :
* GLOBAL :   
    ENABLED                  =      
    TO_FILE                  =      
    TO_STANDARD_OUTPUT       =      
    FORMAT                   =    " [% 수준 | %의 날짜] | %의 MSG "   
    FILENAME                 =    " 로그인 \\ log_ % 날짜 {% Y %의 M % d에} .LOG "   
    MILLISECONDS_WIDTH       =    3   
    PERFORMANCE_TRACKING     =    거짓   
    MAX_LOG_FILE_SIZE        =    1048576   
    LOG_FLUSH_THRESHOLD      =    0  
       
*TRACE :   
    FILENAME은                 =    " 로그 \\ trace_log_ % 날짜 {% Y %의 M % d에} .LOG "  
       
* DEBUG :   
    FILENAME은                 =    " 로그 \\ debug_log_ % 날짜 {% Y %의 M % d에} .LOG "  
       
* FATAL :   
    ENABLED                  =    거짓  
       
*의 ERROR :   
    FILENAME은                 =    " \\ error_log_ % 날짜 {% Y %의 M % d에} .LOG 로그 "  
       
* : WARNING   
    FILENAME은                 =    " 로그 \\ warning_log_ % 날짜 {% Y %의 M % d에} .LOG "  
       
*  INFO :  
    FILENAME을                 =    " 로그인 \\ info_log_ % 날짜 {% Y %의 M % d에 .LOG} "  
       
* VERBOSE :   
    ENABLED                  =    거짓  
기록에 의해 이러한 프로파일 밖으로 생성은 매우 깔끔한 것, 및 로그 정보뿐만 아니라 표준 출력 창에, 다른 파일에 저장됩니다. 으로는 다음과 같습니다 :
 

나는 이전에 같은 로그 또는 GLog가 라이브러리, 사실, 완전히 ++ Easylogging를 사용하기 시작하고 있으며, 나머지와 유사한 log4cplus 작은 파트너를 사용하는 사람들을 위해 생각, 여기를 참조하십시오 세부 사항의 일부 또는 ++ 확장이, Easylogging 특징의은 그것은 점차적으로 나중에 연구에 기록됩니다. 나처럼, 당신이 본 및 Easylogging ++ 친구를 좋아 한 경우에, 우리가 Easylogging을 이해 ++과의 실제 개발에 적용하기 위해 함께 작동 할 수 있습니다.

 

참고 웹 사이트 : https://blog.csdn.net/xie1xiao1jun/article/details/54572803

추천

출처www.cnblogs.com/2018shawn/p/11905143.html