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++ 格式化日志输出实现代码相关推荐

  1. C语言丨格式化屏幕输出(二)——日历

    上次我们说到格式化屏幕输出的前两个简单问题,接下来我们来看一个稍微复杂一点的例子. 题目3:用户键盘输入一个年份(输入年份从1900开始),请编程实现,根据用户输入的年份,打印输出这一年所有月份的日历 ...

  2. SpringBoot中LogBack日志输出配置记录

    <?xml version="1.0" encoding="UTF-8"?><!-- Created by jinKai on 2017/1/ ...

  3. 【超哥原创分享】自定义实现日志输出,抛弃任何依赖包,日志输出随心走,弃繁就简,简而不凡

    简要说明: 现在日志输出框架太多,想找个简单的用用,结果没找到.日志输出中又不想做任何依赖处理,所以就自己做了一个日志输出.完整代码如下: package com.liangchao.luckdraw ...

  4. [C语言] 在单片机的嵌入式开发中使用宏定义一键开关日志输出/打log调试

    前言 在编写项目时,我们通常需要日志输出来帮助我们追踪程序执行的内容,以便在出现BUG时较为方便的复现,并在调试完成后快速的关闭过于详细的LOG输出,避免干扰使用中的体验,在函数中一个一个的增加pri ...

  5. c语言file_C语言 技能提升 系列文章(七)格式化输入/输出

    当初大家入门学习C语言的时候,面对一个黑黑的命令行界面,仅有的交互方法只有printf/scanf这两个函数作为输入输出.但是,大家知道吗?这两个函数后面还有很多兄弟姐妹.那就是C语言的格式化输入输出 ...

  6. C语言日志级别和作用,自己写的C语言通用日志框架,可以控制日志输出等级

    /************************************c语言通用日志框架************************************ * * @author 南栀(ke ...

  7. oracle 格式化报表输出,perl的格式化(Format)报表输出实现代码

    perl有最好的文本数据处理能力.这是大家都知道的.在perl本身有一个别的软件没有的小功能,就是Perl格式.它相当于简单的命令行报表和图表输出.这个需要先声明格式.创建格式的文件句柄.然后由@,^ ...

  8. java输出日志_java代码中如何正确使用loggger日志输出

    java代码中如何正确使用loggger日志输出 发布时间:2019-06-28作者:spider阅读(2980) 当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统, ...

  9. python日志输入 print 常用格式化符号 logging 日志输出

    1 直接使用print函数打印 print("控制台输出日志!") 2 print 格式化输出 # 字符串拼接输出 print("输出结果:%s" % &quo ...

最新文章

  1. 360浏览器登录_360浏览器登录统一操作系统UOS国产CPU首次实现高清视频在线播放...
  2. 软件测试技术之功能测试六要素
  3. [导入]ASP.NET 2.0 读取配置文件[INI](示例代码下载)
  4. java跳转画面后画面白了_如何跳转指定页面后再次跳转到另一页面或原来的页面...
  5. excel VLOOKUP函数的使用方法(入门级)
  6. Alt+/ 快速提示快捷键修复及ecplise心得
  7. 为什么金融分析需要应用python语言_python入门第一篇:python语言简介
  8. android Notification 的使用
  9. Javafx 报错Exception in Application start method java.lang.reflect.InvocationTargetException
  10. LeetCode(59):螺旋矩阵 II
  11. 百度网盘也能BT下载ED2K
  12. Java打印杨辉三角形
  13. OI国家集训队论文集1999~2018
  14. 机械工程c语言第一学期考试题,科学出版社机械工程图学习题集1~10章答案.ppt
  15. 将最新Chromium浏览器集成到.NET应用程序中
  16. yy号,你以为你是QQ号么?
  17. 销售书籍_我们的5合1图书销售又来了!
  18. 国产手机以价格战争锋折叠手机,然而定价权却在三星手上
  19. hive计算指定日期所在周的第一天和最后一天
  20. 12项信息安全标准发布 为解决车联网行业“顽疾”提供可靠指导

热门文章

  1. Qt 编译一直死循环问题
  2. Sql语法---DDL
  3. Luogu 4438 [HNOI/AHOI2018]道路
  4. NSDate NSCalendar NSString之间的故事以及转换
  5. (转)@ContextConfiguration注解说明
  6. android蓝牙4.0(BLE)开发之ibeacon初步
  7. 微软的研发思路发生改变了 Visual Studio 2012 Update 1抢先看
  8. 【C++】拷贝控制与资源管理
  9. 多传感器融合之滤波(二)EKF
  10. Tokyo Cabinet 安装