找回密码
 FreeOZ用户注册
查看: 3396|回复: 3
打印 上一主题 下一主题

[论坛技术] log in qt

[复制链接]
跳转到指定楼层
1#
发表于 19-11-2010 10:11:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
问一下,在Qt里log怎么做? 用syslog吗? 有个qlog,似乎是embeded linux的。桌面下,linux/windows 各用什么呢?
回复  

使用道具 举报

2#
发表于 19-11-2010 10:25:32 | 只看该作者
qDebug(), qWarn() 。。这类函数可以被自定义扩展msg的记录方式,see: http://doc.qt.nokia.com/latest/qtglobal.html#qInstallMsgHandler
一个例子:http://www.thisisqt.com/forum/viewthread.php?tid=90
另一个例子:http://ed32.blogspot.com/2010/10/qtdebugview.html

第三方的可以看看log4qt  http://sourceforge.net/projects/log4qt/
或者就用log4cpp/log4cxx之类的也是一样
回复  

使用道具 举报

3#
 楼主| 发表于 19-11-2010 12:20:47 | 只看该作者
我用了qInstallMsgHandler. 看来这就够了。
用别的比如log4qt或者log4cpp,syslog有什么另外的好处吗?
回复  

使用道具 举报

4#
发表于 19-11-2010 12:36:00 | 只看该作者

坏处: 多引入了个一个库依赖,风格不一致,要末混用qDebug(), qWarn()... 要么整个改掉,变成一种风格
好处:log4cpp, syslog毕竟是专门为log记录设计的,在性能,功能等方面考虑的较多,扩展也很方便,如果需要这些功能就用

qInstallMsgHandler的作用就是可以让你还是用qDebug(), qWarn()...但是后端可以变成其它任何你想要的log记录和过滤方式,比如通过UDP方式发送到log server。

接合起来,比如可以打到这种效果, 如果想要更强大的效果,还可以考虑syslog ng (http://www.balabit.com/network-security/syslog-ng/):
qDebug()/qWarn()  => qInstallMsgHandler(..) => log4cpp   => syslog

[ 本帖最后由 coredump 于 19-11-2010 11:45 编辑 ]
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 1-11-2024 18:19 , Processed in 0.017448 second(s), 20 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表