📄 log.cpp
字号:
#include "log.h"ulog::ulog ( char* pprefix ){ m_fpalog = NULL; m_fpblog = NULL; m_fpclog = NULL; if ( pprefix ) strcpy ( mprefix,pprefix ); else memset ( mprefix,0,sizeof ( mprefix ) ); memset ( mfilea,0,sizeof ( mfilea ) ); memset ( mfileb,0,sizeof ( mfileb ) ); memset ( mfilec,0,sizeof ( mfilec ) ); memset ( mlogdir,0,sizeof ( mlogdir ) );}ulog::~ulog(){ if ( m_fpalog ) fclose ( m_fpalog ); if ( m_fpblog ) fclose ( m_fpblog ); if ( m_fpclog ) fclose ( m_fpclog );}int ulog::createulog(){ struct tm * lt; time_t tick; char date[32]; tick = time ( NULL ); lt = localtime ( &tick ); sprintf ( date, "%04d-%02d-%02d", lt->tm_year+1900,lt->tm_mon+1,lt->tm_mday ); char filea[FILE_NAME_LEN]; char fileb[FILE_NAME_LEN]; char filec[FILE_NAME_LEN]; if ( strlen ( mprefix ) == 0 ) strcpy ( mprefix,"btbbt" );#ifdef CREATE_ULOG_FILE_C snprintf ( filec,sizeof ( filec ),"%s%s-%s[NORMAL].log",mlogdir,mprefix,date ); if ( strlen ( mfilec ) ==0 ) { strcpy ( mfilec,filec ); m_fpclog = fopen ( filec,"w+" ); if ( !m_fpclog ) return -1; } else if ( strcmp ( mfilec,filec ) ) { fclose ( m_fpclog ); strcpy ( mfilec,filec ); m_fpclog = fopen ( filec,"w+" ); if ( !m_fpclog ) return -1; }#endif#ifdef CREATE_ULOG_FILE_B snprintf ( fileb,sizeof ( fileb ),"%s%s-%s[ILLEGAL].log",mlogdir,mprefix,date ); if ( strlen ( mfileb ) ==0 ) { strcpy ( mfileb,fileb ); m_fpblog = fopen ( fileb,"w+" ); if ( !m_fpblog ) return -1; } else if ( strcmp ( mfileb,fileb ) ) { fclose ( m_fpblog ); strcpy ( mfileb,fileb ); m_fpblog = fopen ( fileb,"w+" ); if ( !m_fpblog ) return -1; }#endif#ifdef CREATE_ULOG_FILE //default snprintf ( filea,sizeof ( filea ),"%s%s-%s[FATAL].log",mlogdir,mprefix,date ); if ( strlen ( mfilea ) ==0 ) { strcpy ( mfilea,filea ); m_fpalog = fopen ( filea,"w+" ); if ( !m_fpalog ) return -1; } else if ( strcmp ( mfilea,filea ) ) { fclose ( m_fpalog ); strcpy ( mfilea,filea ); m_fpalog = fopen ( filea,"w+" ); if ( !m_fpalog ) return -1; }#endif return 0;}int ulog::addmsg ( const char *pmsg ){ if ( strlen ( mlogdir ) == 0 ) return 0; struct tm * lt; time_t tick; char fdate[32]; tick = time ( NULL ); lt = localtime ( &tick ); sprintf ( fdate, "%04d-%02d-%02d %02d:%02d:%02d", lt->tm_year+1900,lt->tm_mon+1,lt->tm_mday,lt->tm_hour,lt->tm_min,lt->tm_sec ); if ( m_fpalog ) { fprintf ( m_fpalog, "[%s]:%s\n", fdate,pmsg ); fflush ( m_fpalog ); } return 0;}int ulog::addmsg ( const char* pmsg,int msglevel ){ if ( strlen ( mlogdir ) == 0 ) return 0; struct tm * lt; time_t tick; char fdate[32]; tick = time ( NULL ); lt = localtime ( &tick ); sprintf ( fdate, "%04d-%02d-%02d %02d:%02d:%02d", lt->tm_year+1900,lt->tm_mon+1,lt->tm_mday,lt->tm_hour,lt->tm_min,lt->tm_sec ); switch ( msglevel ) { case 0: if ( m_fpclog ) { fprintf ( m_fpclog, "[%s]:%s\n", fdate,pmsg ); fflush ( m_fpalog ); } break; case 1: if ( m_fpblog ) { fprintf ( m_fpblog, "[%s]:%s\n", fdate,pmsg ); fflush ( m_fpalog ); } break; default: if ( m_fpalog ) { fprintf ( m_fpalog, "[%s]:%s\n", fdate,pmsg ); fflush ( m_fpalog ); } } return 0;}int ulog::setulogdir ( char *plogdir ){ if ( access ( plogdir,W_OK ) <0 ) { if ( mkdir ( plogdir,0744 ) <0 ) return -1; } strcpy ( mlogdir,plogdir ); if ( mlogdir[strlen ( mlogdir )-1]!='/' ) strcat ( mlogdir,"/" ); return 0;}int ulog::lock(){ if ( pthread_mutex_lock ( &_mutex ) != 0 ) return -1;}int ulog::unlock(){ if ( pthread_mutex_unlock ( &_mutex ) != 0 ) return -1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -