Linuxc日志功能如何改写以支持长尾词查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计818个文字,预计阅读时间需要4分钟。
Linux下的C语言项目通常通过打印进行调试,简单情况下可能直接使用printf函数进行输出。但对于大型项目,这种方法就不太方便了。现在许多开源软件中都提供了相应的日志功能。
一般linux下的c语音项目都会通过打印进行调试,简单临时的可能就使用printf函数进行凑合了,但是对于大一点的项目就不是很方便了,现在也有很多开源软件里面都有进行相应的日志功能的封装,不过一般linux 下的c语音项目都会通过打印进行调试,简单临时的可能就使用printf函数进行凑合了,但是对于大一点的项目就不是很方便了,现在也有很多开源软件里面都有进行相应的日志功能的封装,不过那对于自己开发的项目调用就没那么简单了,所以基于此背景,写下自己的一点思路供大家参考,欢迎对不足的地方指出完善。
下面就把代码贴出来。
log.h
运行:./main2016/12/14 13-34-23[INFO][file:main.c,line:18,func:main]ABC LOG_NOTICE2016/12/14 13-34-23[INFO][file:main.c,line:19,func:main]ABC LOG_INFO2016/12/14 13-34-23[DEBUG][file:main.c,line:20,func:main]ABC LOG_DEBUG查看结果:tail -f /var/log/messages Dec 14 05:11:54 localhost NetworkManager[1971]: prefix 24 (255.255.255.0)Dec 14 05:11:54 localhost NetworkManager[1971]: gateway 192.168.0.1Dec 14 05:11:54 localhost NetworkManager[1971]: nameserver '222.246.129.80'Dec 14 05:11:54 localhost NetworkManager[1971]: nameserver '59.51.78.210'Dec 14 05:11:54 localhost NetworkManager[1971]: domain name 'DHCP'Dec 14 05:11:54 localhost NetworkManager[1971]: domain name 'HOST'Dec 14 05:17:29 localhost APP[26091]: [file:main.c,line:18,func:main]ABC LOG_NOTICEDec 14 05:17:29 localhost APP[26091]: [file:main.c,line:19,func:main]ABC LOG_INFODec 14 05:34:23 localhost APP[26372]: [file:main.c,line:18,func:main]ABC LOG_NOTICEDec 14 05:34:23 localhost APP[26372]: [file:main.c,line:19,func:main]ABC LOG_INFO
本文共计818个文字,预计阅读时间需要4分钟。
Linux下的C语言项目通常通过打印进行调试,简单情况下可能直接使用printf函数进行输出。但对于大型项目,这种方法就不太方便了。现在许多开源软件中都提供了相应的日志功能。
一般linux下的c语音项目都会通过打印进行调试,简单临时的可能就使用printf函数进行凑合了,但是对于大一点的项目就不是很方便了,现在也有很多开源软件里面都有进行相应的日志功能的封装,不过一般linux 下的c语音项目都会通过打印进行调试,简单临时的可能就使用printf函数进行凑合了,但是对于大一点的项目就不是很方便了,现在也有很多开源软件里面都有进行相应的日志功能的封装,不过那对于自己开发的项目调用就没那么简单了,所以基于此背景,写下自己的一点思路供大家参考,欢迎对不足的地方指出完善。
下面就把代码贴出来。
log.h
运行:./main2016/12/14 13-34-23[INFO][file:main.c,line:18,func:main]ABC LOG_NOTICE2016/12/14 13-34-23[INFO][file:main.c,line:19,func:main]ABC LOG_INFO2016/12/14 13-34-23[DEBUG][file:main.c,line:20,func:main]ABC LOG_DEBUG查看结果:tail -f /var/log/messages Dec 14 05:11:54 localhost NetworkManager[1971]: prefix 24 (255.255.255.0)Dec 14 05:11:54 localhost NetworkManager[1971]: gateway 192.168.0.1Dec 14 05:11:54 localhost NetworkManager[1971]: nameserver '222.246.129.80'Dec 14 05:11:54 localhost NetworkManager[1971]: nameserver '59.51.78.210'Dec 14 05:11:54 localhost NetworkManager[1971]: domain name 'DHCP'Dec 14 05:11:54 localhost NetworkManager[1971]: domain name 'HOST'Dec 14 05:17:29 localhost APP[26091]: [file:main.c,line:18,func:main]ABC LOG_NOTICEDec 14 05:17:29 localhost APP[26091]: [file:main.c,line:19,func:main]ABC LOG_INFODec 14 05:34:23 localhost APP[26372]: [file:main.c,line:18,func:main]ABC LOG_NOTICEDec 14 05:34:23 localhost APP[26372]: [file:main.c,line:19,func:main]ABC LOG_INFO

