`
java-mans
  • 浏览: 11441381 次
文章分类
社区版块
存档分类
最新评论

写了一个用来写log信息的小程序

 
阅读更多

写了个log类。但是越写越觉得不对劲,越写发现越需要扩充。。

最大的问题是发现封装成类后反而别扭- -主要应该还是自己功底不够吧。

­最后用C语言,InitLog(),WriteLog(),CloseLog(). 三个函数搞定。暂且满足程序的需要,虽然CloseLog()这个函数也不是必须地,不过加上能让跟踪出的log信息更完整吧。

//////////////////////////////////////////////////////////////////////////////////////////
//wde_log.h
//////////////////////////////////////////////////////////////////////////////////////////
#ifndefWDE_LOG_H
#defineWDE_LOG_H
#include
<windows.h>
#include
<cstdio>
usingnamespacestd;

#defineLOGFILENAME“log.txt”

voidOpenLog();

voidGameLog(constchar*p_Message,boolp_bNeedTime=true);

voidCloseLog();

#endif
//////////////////////////////////////////////////////////////////////////////////////////
//wde_log.cpp
//////////////////////////////////////////////////////////////////////////////////////////
#include“wde_Log.h”

voidOpenLog()
{
FILE
*logfile;
logfile
=fopen(LOGFILENAME,“w”);
if(!logfile)
{
MessageBox(NULL,“无法创建日志文件,程序终止”,“ERROR”,MB_OK);
return;
}
fputs(”打开应用程序日志文件/n”,logfile);
fputs(”———————————————————————
-/n”,logfile);
}

voidGameLog(constchar*p_Message,boolp_bNeedTime/*=true*/)
{
FILE
*writelog;
writelog
=fopen(LOGFILENAME,“a+”);
if(!writelog)
{
MessageBox(NULL,”无法写入日志文件,程序终止”,“ERROR”,MB_OK);
return;
}

staticSYSTEMTIMECurrentTime;
GetLocalTime(
&CurrentTime);
if(p_bNeedTime)
{
fprintf(writelog,”
%2d/%2d/%4d“,CurrentTime.wMonth,CurrentTime.wDay,CurrentTime.wYear);
fprintf(writelog,”
%2d:%2d:%2d“,CurrentTime.wHour,CurrentTime.wMinute,CurrentTime.wSecond);
}
fputs(p_Message,writelog);

}

voidCloseLog()
{
FILE
*closefile;
closefile
=fopen(LOGFILENAME,“a+”);
if(!closefile)
{
MessageBox(NULL,”无法写入日志文件,程序终止”,“ERROR”,MB_OK);
return;
}
fputs(”———————————————————————
-/n”,closefile);
fputs(”关闭应用程序日志文件/n”,closefile);
}
//////////////////////////////////////////////////////////////////////////////////////////
分享到:
评论

相关推荐

    微信小程序版某乎日报

    运用到的技术:Spring,SpringMVC,Mybatis,Log4J2用来监听日志, 爬取数据模块的日志 PageHelper实现了微信小程序端的上拉继续加载功能 jsoup爬虫技术. 定时任务 : 定时6小时爬取一次数据写入数据库中

    基于python语言针对lammps输出的log文件进行数据提取

    python小程序,用来提取lammps生成的log文件中某一类数据并导出到excel表格中

    translate-wechat-mini-program-master-百度翻译api实现微信翻译小程序.zip

    这时候你需要这个 我就是像这样申请一个小程序账号,得到一个APPID,注意不需要搞这个微信认证的,这个专空子申请的APPID只可以用来开发,是没办法拿来发布小程序的,认证也是认证不了的 在小程序里面的wx.reques...

    Vincent:微信小程序实战教程《三》第一个微信小程序

    准备好开始我们第一个微信小程序了吗?       创建我们的工程 (此图片来源于网络,如有侵权,请联系删除! ) getApp() var app = getApp()获取到当前小程序实例对象,可用此实例对象访问到全局变量和当前页面实例...

    后台抓取logcat

    自己写的一个小程序,用来抓取logcat,将log写到sdcard,后台运行,可以随时打开或关闭。

    java动态日志注入工具anylog.zip

    anylog 是一个可以在代码的任意区域无入侵地加入日志的工具,适用于线上问题排查。 anylog 为开发人员提供一个易于使用的平台,帮助开发人员在正在运行的系统中随时加入自己想要的日志,而免于修改代码和重启。 ...

    微信小程序 生命周期和页面的生命周期详细介绍

    所以App()方法在一个小程序中有且仅有一个。 App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。先上代码: App({ onLaunch: function () { console.log('App onLaunch'); ...

    xiaochengxu4j:微信小程序开发包

    xiaochengxu4j 微信小程序Java开发封装包 1、代码说明 src中包名后缀为server的均为服务器端...bcpro-jdk.jar 一个很偏僻的类,用来配合消息解密 #3、更新日志 2017-12-21 小程序用户信息解密获取openid和unionid

    详解微信小程序 wx.uploadFile 的编码坑

    编写微信小程序时,用到 wx.uploadFile,用来上传图片+文本信息.然而在编写过程中,由于官方的 demo 和文档描述很少,在几个坑上耗费了不少时间. 这里分享一个和编码有关的坑,主要是由于真机预览时 formData 中...

    使用ES6新特性开发微信小程序(1)

    微信小程序支持绝大部分ES6的新增特性。 Constants(常量) ES6新增了const关键字,用来声明常量,一旦声明,常量的值就不能改变了。 const PI = 3.141593; console.log(PI); PI = 3; // 报错: Uncaught TypeError: ...

    分布式高性能日志复制服务 DistributedLog.zip

    Log的数据可以永远保存,直到应用程序显式地将其截断,也可以在一个可配置的时间段内保存。对于构建复制状态机来说,显式截断会非常有用,如分布式数据库。在数据何时能够截断这一点上,它们往往有着严格的控制。...

    Linux操作系统基础教程

    (Torvalds@kruuna.helsinki.fi)写了 Linux核心程序的 0.02 版开始的,但其后的发展却几乎都 是由互联网上的 Linux社团(Linux Community)互通交流而完成的。Linux 不属于任何一 家公司或个人,任何人都可以免费取得...

    Oracle9i的init.ora参数中文说明

    说明 : 指定在一个共享服务器环境中可同时运行的调度程序进程的最大数量。 值范围: 根据操作系统而定。 默认值 : 如果已配置了调度程序, 则默认值为大于 5 的任何数目或配置的调度程序的数目 mts_max_servers: ...

    【原创绿色版】并发连接测试程序

    除此之外,程序还会在 [output] 目录下生成一个 [*.status] 文件,用来记录任务耗时和任务是否成功。 三、【程序设置】 3.1 设定工作目录 把一个目录拖到程序界面,或者点击“浏览...”按钮选择一个目录,即...

    大众点评开源的实时应用监控平台 CAT.zip

    CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric和Trace信息。 完整的消息树 可视化消息树 分布式消息树【一台机器调用另外一...

    入门学习Linux常用必会60个命令实例详解doc/txt

    所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。 -F:在重启计算机时强迫fsck。 -time:设定关机前的时间。 -m: 将系统改为单用户模式。 -i:关机时显示系统...

    java利用JMX做出不一样的的JVM.docx

    JMX 全称为 Java Management Extensions,翻译过来就是 Java 管理扩展,用来管理和监测 Java 程序。最常用到的就是对于 JVM 的监测和管理,比如 JVM 内存、CPU 使用率、线程数、垃圾收集情况等等。另外,还可以用作...

    Python之日志处理(logging模块).docx

    如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。 简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否...

    android logcat使用

    logcat是Android中一个命令行工具,可以用于得到程序的log信息。 logcat使用方法如下所示: logcat [options] [filterspecs] logcat的选项包括: -s 设置过滤器,例如指定 '*:s' -f &lt;filename&gt; 输出到文件,默认...

    逍遥表达式求值控件(XoYoMathXP)

    XoYoMatheXPression是一个功能超强的用于表达式分析与计算的ActiveX控件。可以对由字符串组成的数值表达式进行多种求值运算。目前本控件支持的功能有:  1.四则混合运算  2.逻辑运算  3.关系运算  4.常用...

Global site tag (gtag.js) - Google Analytics