c语言logout_C++ 格式化日志输出实现代码
void LogOut(LPCTSTR pFormat, ...)
{
char LogFile[128]={0};
char str[1024]={0};
FILE** fp=&(ThreadDatas[0].pf);
va_list pArg;
EnterCriticalSection(&cs_log);//独占访问
__try
{
SYSTEMTIME st;
if(ThreadDatas[0].num>100000)//10W条一个文件
{
if(fp)
{
fclose(*fp);
*fp=0;
}
ThreadDatas[0].num=0;
}
if(NULL==*fp)
{
char tstr[20]={0};
//GetSystemTime(&st);
GetLocalTime(&st);
sprintf(LogFile,".\\logs\\ASR_%04d-%02d-%02d.%02d_%02d_%02d.log",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);
*fp=fopen(LogFile,"a+");
if( NULL==*fp )
{
//printf("Create LogFile faile %s\n",LogFile);
LogEvent("Create LogFile faile %s",LogFile);
return;
}
//else
//LogEvent("Create LogFile %s",LogFile,*fp);
}
GetLocalTime(&st);
sprintf(str,"%04d-%02d-%02d %02d:%02d:%02d.%03d %s",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds,pFormat);
va_start(pArg, pFormat);
//fprintf(*fp,chMsg);
vfprintf(*fp, str, pArg);
va_end(pArg);
fflush(*fp);
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
LogEvent("Thread Log file Error:%s",LogFile);
}
LeaveCriticalSection(&cs_log);//释放独占访问
}
c语言logout_C++ 格式化日志输出实现代码相关推荐
- C语言丨格式化屏幕输出(二)——日历
上次我们说到格式化屏幕输出的前两个简单问题,接下来我们来看一个稍微复杂一点的例子. 题目3:用户键盘输入一个年份(输入年份从1900开始),请编程实现,根据用户输入的年份,打印输出这一年所有月份的日历 ...
- SpringBoot中LogBack日志输出配置记录
<?xml version="1.0" encoding="UTF-8"?><!-- Created by jinKai on 2017/1/ ...
- 【超哥原创分享】自定义实现日志输出,抛弃任何依赖包,日志输出随心走,弃繁就简,简而不凡
简要说明: 现在日志输出框架太多,想找个简单的用用,结果没找到.日志输出中又不想做任何依赖处理,所以就自己做了一个日志输出.完整代码如下: package com.liangchao.luckdraw ...
- [C语言] 在单片机的嵌入式开发中使用宏定义一键开关日志输出/打log调试
前言 在编写项目时,我们通常需要日志输出来帮助我们追踪程序执行的内容,以便在出现BUG时较为方便的复现,并在调试完成后快速的关闭过于详细的LOG输出,避免干扰使用中的体验,在函数中一个一个的增加pri ...
- c语言file_C语言 技能提升 系列文章(七)格式化输入/输出
当初大家入门学习C语言的时候,面对一个黑黑的命令行界面,仅有的交互方法只有printf/scanf这两个函数作为输入输出.但是,大家知道吗?这两个函数后面还有很多兄弟姐妹.那就是C语言的格式化输入输出 ...
- C语言日志级别和作用,自己写的C语言通用日志框架,可以控制日志输出等级
/************************************c语言通用日志框架************************************ * * @author 南栀(ke ...
- oracle 格式化报表输出,perl的格式化(Format)报表输出实现代码
perl有最好的文本数据处理能力.这是大家都知道的.在perl本身有一个别的软件没有的小功能,就是Perl格式.它相当于简单的命令行报表和图表输出.这个需要先声明格式.创建格式的文件句柄.然后由@,^ ...
- java输出日志_java代码中如何正确使用loggger日志输出
java代码中如何正确使用loggger日志输出 发布时间:2019-06-28作者:spider阅读(2980) 当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统, ...
- python日志输入 print 常用格式化符号 logging 日志输出
1 直接使用print函数打印 print("控制台输出日志!") 2 print 格式化输出 # 字符串拼接输出 print("输出结果:%s" % &quo ...
最新文章
- 360浏览器登录_360浏览器登录统一操作系统UOS国产CPU首次实现高清视频在线播放...
- 软件测试技术之功能测试六要素
- [导入]ASP.NET 2.0 读取配置文件[INI](示例代码下载)
- java跳转画面后画面白了_如何跳转指定页面后再次跳转到另一页面或原来的页面...
- excel VLOOKUP函数的使用方法(入门级)
- Alt+/ 快速提示快捷键修复及ecplise心得
- 为什么金融分析需要应用python语言_python入门第一篇:python语言简介
- android Notification 的使用
- Javafx 报错Exception in Application start method java.lang.reflect.InvocationTargetException
- LeetCode(59):螺旋矩阵 II
- 百度网盘也能BT下载ED2K
- Java打印杨辉三角形
- OI国家集训队论文集1999~2018
- 机械工程c语言第一学期考试题,科学出版社机械工程图学习题集1~10章答案.ppt
- 将最新Chromium浏览器集成到.NET应用程序中
- yy号,你以为你是QQ号么?
- 销售书籍_我们的5合1图书销售又来了!
- 国产手机以价格战争锋折叠手机,然而定价权却在三星手上
- hive计算指定日期所在周的第一天和最后一天
- 12项信息安全标准发布 为解决车联网行业“顽疾”提供可靠指导
热门文章
- Qt 编译一直死循环问题
- Sql语法---DDL
- Luogu 4438 [HNOI/AHOI2018]道路
- NSDate NSCalendar NSString之间的故事以及转换
- (转)@ContextConfiguration注解说明
- android蓝牙4.0(BLE)开发之ibeacon初步
- 微软的研发思路发生改变了 Visual Studio 2012 Update 1抢先看
- 【C++】拷贝控制与资源管理
- 多传感器融合之滤波(二)EKF
- Tokyo Cabinet 安装