Windows 服务程序zlog使用
2016-05-17 06:34
232 查看
Zlog日志Windows服务程序使用总结
Zlog日志版本选择(zlog介绍链接:http://www.oschina.net/p/zlog)
auto tools版本:https://github.com/bmanojlovic/zlog
cmake版本:https://github.com/lisongmin/zlog
windows版本:https://github.com/lopsd07/WinZlog
当前我使用的是windows版本,由于zlog不是官方编写的,且windows版本是通过linux下移植过来的所以可能不如linux稳定,不过我的项目要求不高,没有特别的应用需求。
问题一:初始化zlog配置文件失败
原因:找不到zlog配置文件,在提供的WinZlog工程下存在一个test工程,调试此工程代码时,出现初始化配置文件失败。Zlog本身不支持绝对路径,所以即使输入绝对路径也没有用。Zlog查找当前的工作环境目录,由于调试时的工作环境是项目环境,所以将zlog的配置文件放在test的项目平级目录即可解决。当然如果是exe的可执行文件,需要放在和exe平级目录下。
问题二:初始化zlog配置文件失败,读取文件失败
原因:配置文件的rules规则制定的路径的双引号采用中文格式,导致读取错误,应该采用英文格式
[formats]
simple = "%m%n"
[rules]
my_cat.DEBUG >stdout; simple
my_cat.INFO "/var/log/test.log"; simple
问题三:服务程序下,初始化zlog配置失败
原因:这个原因和之前类似就是工作目录的问题,服务程序的工作目录与exe所在的目录并不是同一个目录,找不到zlog配置文件。由于本人太菜,不知道服务程序的工作路径,且之前项目有过相关问题,所以直接调用GetModuleBaseName、GetModuleFileName,分别获取当前的服务程序名称以及服务程序的exe路径,并调用SetCurrentDirectory修改当前的工作路径为exe所在的路径。之后再初始化zlog就没有问题了。
Zlog日志版本选择(zlog介绍链接:http://www.oschina.net/p/zlog)
auto tools版本:https://github.com/bmanojlovic/zlog
cmake版本:https://github.com/lisongmin/zlog
windows版本:https://github.com/lopsd07/WinZlog
当前我使用的是windows版本,由于zlog不是官方编写的,且windows版本是通过linux下移植过来的所以可能不如linux稳定,不过我的项目要求不高,没有特别的应用需求。
问题一:初始化zlog配置文件失败
原因:找不到zlog配置文件,在提供的WinZlog工程下存在一个test工程,调试此工程代码时,出现初始化配置文件失败。Zlog本身不支持绝对路径,所以即使输入绝对路径也没有用。Zlog查找当前的工作环境目录,由于调试时的工作环境是项目环境,所以将zlog的配置文件放在test的项目平级目录即可解决。当然如果是exe的可执行文件,需要放在和exe平级目录下。
问题二:初始化zlog配置文件失败,读取文件失败
原因:配置文件的rules规则制定的路径的双引号采用中文格式,导致读取错误,应该采用英文格式
[formats]
simple = "%m%n"
[rules]
my_cat.DEBUG >stdout; simple
my_cat.INFO "/var/log/test.log"; simple
问题三:服务程序下,初始化zlog配置失败
原因:这个原因和之前类似就是工作目录的问题,服务程序的工作目录与exe所在的目录并不是同一个目录,找不到zlog配置文件。由于本人太菜,不知道服务程序的工作路径,且之前项目有过相关问题,所以直接调用GetModuleBaseName、GetModuleFileName,分别获取当前的服务程序名称以及服务程序的exe路径,并调用SetCurrentDirectory修改当前的工作路径为exe所在的路径。之后再初始化zlog就没有问题了。
相关文章推荐
- Android Studio 与 Eclipse 目录结构对比
- 深入理解Android(三):Xposed详解
- 微信大数据揭秘国民出境购物 东部省领先
- 深入理解Android(二):Java虚拟机Dalvik
- 深入理解Android(一):Gradle详解
- 成为C++高手之for循环
- MySQL INFORMATION_SCHEMA -- COLUMNS Table
- Android-Studio最新版
- 解决 libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.4-1.el6.x86_64案例
- LeetCode 336. Palindrome Pairs
- Android中的Context,你造吗
- 天地常在 锐气永存
- Android Studio 2.1 之小设置提高写代码效率
- 机器诗人诞生了
- 将ubuntu系统制作成iso镜像文件
- Codeforces Round #353 (Div. 2) 模拟+贪心+乱搞
- OOD - Object Oriented Design 面向对象设计实例
- Java高并发程序设计总结
- 使用PDO操作数据库的好处
- 【跟着子迟品underscore】从用 `void 0` 代替 `undefined` 说起