一个打印日志函数
来源:互联网 发布:单片机测温电路 编辑:程序博客网 时间:2024/04/29 19:08
#include<stdio.h>
#include<windows.h>
enum E_TraceLevel // ¸ú×Ù¼¶±ð
{
e_DEBUG = 0,
e_TRACE = 1,
e_ERROR = 2,
e_LOG = 3,
e_ALARM = 4,
e_FATAL = 5,
e_ASSERT= 6
};
int gRunLevel = e_DEBUG;
#define LOG_DEBUG e_DEBUG, __FILE__, __LINE__
#define LOG_TRACE e_TRACE, __FILE__, __LINE__
#define LOG_ERROR e_ERROR, __FILE__, __LINE__
#define LOG_LOG e_LOG, __FILE__, __LINE__
#define LOG_ALARM e_ALARM, __FILE__, __LINE__
#define LOG_FATAL e_FATAL, __FILE__, __LINE__
#define PRINTLOG PrintLog
void PrintLog (
IN E_TraceLevel _eTraceLevel
, IN const char *_sFile
, IN const int _iLine
, IN const char *_sFmt
, IN ...)
{
if(gRunLevel > _eTraceLevel) return;
va_list args;
char strInformation[2048];
va_start(args, _sFmt);
_vsnprintf(strInformation, sizeof(strInformation)-1,_sFmt,args);
FILE * fp = fopen("log.txt", "a");
SYSTEMTIME DateTime;
if(fp == NULL)
{
return;
}
GetLocalTime(&DateTime);
fprintf(fp
, "[%04d-%02d-%02d %02d:%02d:%02d] [File:%d Line:%d] %s /n"
, DateTime.wYear
, DateTime.wMonth
, DateTime.wDay
, DateTime.wHour
, DateTime.wMinute
, DateTime.wSecond
, _sFile
, _iLine
, strInformation
);
fclose(fp);
va_end(args);
}
//使用得例子
int main(int argc, char* argv[])
{
PRINTLOG(LOG_DEBUG, "test log fun [%d]", 20);
return 0;
}
- 一个打印日志函数
- 宏函数打印日志
- 日志打印函数
- linux 下 打印日志函数
- logSvr的日志打印函数
- 分享一个日志函数
- GitHub的一个日志打印库LazyLogger
- linux每天打印一个tomcat日志(tomcat6)
- dup函数日志打印重定向
- 日志 - 打印函数的调用过程
- 不定参数日志打印函数的封装
- 打印日志时同时打印出文件名,行数,函数名
- 日志打印
- 日志打印
- 日志打印
- 日志打印
- 打印日志
- 日志打印
- Linux:vsftpd.conf内配置函数
- LInux与Windows
- Linux防火墙上的Apache反向代理
- 对话软件开发
- Vi使用说明
- 一个打印日志函数
- Bourne again shell (bash) 基本编程
- sql通用分页存储过程
- A Helper class with JSON serialization
- 初识Linux程序
- 基于.Net Remoting 的智能客户端架构示例
- c#事务处理
- Oracle数据导入导出imp/exp命令
- Web-----------对 Css 和 Js 后面 跟参数