日志函数

C++日志记录函数
本文介绍了一个使用C++编写的日志记录函数WriteLog,该函数能够将带有时间戳的日志信息写入指定路径的文本文件中。通过格式化字符串的方式组织日志内容,并利用C标准库函数实现日期时间的获取与格式化。

void WriteLog(LPCTSTR pFormat,...);

 

void  WriteLog(LPCTSTR pFormat,...)
{
   TCHAR chMsg[4096];
   va_list pArg;
   va_start(pArg,pFormat);
   _vstprintf(chMsg,pFormat,pArg);
   va_end(pArg);

   SYSTEMTIME st;
   ::GetLocalTime(&st);
   char logname[4096];

   memset(logname,'/0',MAX_PATH);
   sprintf(logname,"%s%04d-%02d-%02dlog.txt",m_logpath.GetBuffer(m_logpath.GetLength()),st.wYear,st.wMonth,st.wDay);

   CStdioFile f;

  
   if(!f.Open( logname, CFile::modeCreate | CFile::modeWrite|CFile::modeNoTruncate|CFile::typeText))
   {

    DWORD dwVal =::GetLastError();
    #ifdef _DEBUG
    afxDump << "Unable to open file" << "/n";
   #endif
   
   return;
   }
   f.SeekToEnd();


   char tmp[2048];
   sprintf(tmp,"%s/t......../t%02d:%02d:%02d.%03d",chMsg,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds);
  
   f.WriteString(tmp);
   f.WriteString("/r/n");
   f.Close();
}


 

在Python中,创建日志函数可借助内置的`logging`模块。该模块功能强大且随时可用,能满足不同需求,还可将日志消息与第三方库中的日志消息集成,为应用程序生成同类日志[^1]。 以下是创建日志函数的示例代码: ```python import logging def setup_logging(): # 创建日志记录器 logger = logging.getLogger(__name__) # 设置日志级别 logger.setLevel(logging.DEBUG) # 创建控制台处理器 console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) # 创建文件处理器 file_handler = logging.FileHandler('app.log') file_handler.setLevel(logging.INFO) # 创建日志格式化器 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') console_handler.setFormatter(formatter) file_handler.setFormatter(formatter) # 将处理器添加到日志记录器 logger.addHandler(console_handler) logger.addHandler(file_handler) return logger # 使用日志函数 logger = setup_logging() logger.debug('这是一条调试级别的日志信息') logger.info('这是一条信息级别的日志信息') logger.warning('这是一条警告级别的日志信息') logger.error('这是一条错误级别的日志信息') logger.critical('这是一条严重错误级别的日志信息') ``` 在上述代码中,`setup_logging`函数用于配置日志记录器,包含创建日志记录器、设置日志级别、创建控制台和文件处理器、设置格式化器,最后将处理器添加到日志记录器并返回。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值