最近工作中要查问题,程序中的日志太粗略了(多而不细),代码很庞大,又不可能加点打印,重新编了跑(几个机器联合编译都得10来分钟),问以前的老员工为什么日志不打详细点,“因为太详细,日志文件太大了”,不能在程序运行的时候通过一个telnet连接来控制日志的打印吗? “目前没这功能”。 因为以前用过telnet控制的日志(没得代码),所以准备自己写一个以在程序中运用,以后可以方便查问题。
基本原理就是要有个宏来输出日志(屏幕和文件),宏里面根据级别(trace,debug,warning,error等)和当前设置来确认是否打印,而这个设置可以在程序中初始化,通过建立一个socket server接收telnet连接发过来的命令进行调整。
功能宏如下:
写日志使用的宏如下:
使用方式:
初始化的时候传入监听的IP和端口,以及日志文件的大小,超过指定大小会将旧日志保存到另外一个文件。
详细源码下载地址:http://download.csdn.net/source/2598465
本文介绍了一种通过telnet控制的日志系统实现方案,该方案允许用户在程序运行时动态调整日志级别,解决了传统日志系统过于粗略或庞大的问题。文章提供了具体的宏定义和使用示例,并附上了源码下载链接。

1299

被折叠的 条评论
为什么被折叠?



