一 log系统简介

log系统简介

syslog

syslog是UNIX系统中提供的一种日志记录方法(RFC3164),syslog本身是一个服务器,程序中凡是使用syslog记录的信息都会发送到该服务器,服务器根据配置决定此信息是否记录,是记录到磁盘文件还是其他地方,这样使系统内所有应用程序都能以统一的方式记录日志,为系统日志的统一审计提供了方便.

  1. 日志格式
    syslog记录的日志格式为:
    月 日 时:分:秒 主机名 标志 日志内容

  2. syslog配置文件
    Rsyslog 是一个 syslogd 的多线程增强版。
    centos 6以上的都是rsyslog。

syslog服务器的配置文件为/etc/rsyslog.conf,syslog( )函数把想记录的日志信息都发送给日志服务器,但此日志最终是否记录到文件或发送给远程服务器,则是由此配置文件来决定的,该配置文件就是告诉日志服务器要记录那些类型和级别的日志,如何记录等信息。

log4j

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
详情 百度百科log4j

Log4cplus

log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统,受Apache Software License保护,作者是Tad E. Smith。
   log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将日志划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期。你可以选择将日志输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份等等。

Qt版本的 log4Qt

log4qt是Apache的log4j的qt移植版本,log4j是在java下面使用的一个超强大的日志系统,只要引起一个包一句代码就可以使用,做java开发的小伙伴应该都不陌生。
log4qt是一些大牛参考log4j整理的一套在C++上使用的日志系统,使用参考log4j的使用,log4qt是开源的,使用的过程中我发现有多个版本源码,且各不相等,实现也各不相同,有一些配置选项并没有实现,需要自己修改源码,比如说设置输出等级,打印文件名、函数名、行号等信息。

在log4qt的基础上,研究源码,自己实现打印文件名、函数名、行号等信息,这个还是比较有用的,在出现bug的时候比较好定位。

首先log4qt是一个开源的源码,可以在官网进行下载源码:开源链接https://sourceforge.net/projects/log4qt/,为了方便使用将其编译成一个dll进行使用,在使用的工程里面加载dll和相应的头文件即可

下文重点讲解qt版本的log4qt用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值