读书人

acl 日志记录方式引见

发布时间: 2013-06-26 14:29:32 作者: rapoo

acl 日志记录方式介绍

? ? ? ?从上面的函数声明可以看出,acl 的日志记录允许同时输出至多个日志管道中(最简单的方式就是直接写入本地磁盘文件:/tmp/test.log),同时更应看到,其中有三个奇怪的日志文件表达方式:UDP:IP:PORT, TCP:IP:PORT, UNIX:/xxx,其实这三种方式均是与 syslog-ng 相关,即分别表示:

? ? ? 1、以 UDP 方式发送日志至 syslog-ng;

? ? ? 2、以 TCP 方式发送日志至 syslog-ng;

? ? ? 3、以 UNIX 域套接字方式发送日志至 syslog-ng。
? ? ? 因为日志管理是一个非常复杂的过程,所以在 acl 除了提供最简单的日志文件记录外,更建议用户将日志输出至 syslog-ng 中(作者自己的项目也往往是这样做的)。

?

? ? ? 二、acl_msg.c/acl_msg.h

? ? ? 该日志库提供了更为高级的日志记录方法,不仅提供了灵活的日志记录函数,同时还允许用户注册自己的日志记录函数库,该日志库主要函数接口如下:

? ? ? ?上面是日志打开与关闭的函数,看上去算是相对简单。下面是几个日志记录的函数接口:

acl_debug_init("all:1");......acl_debug(100, 1)("%s(%d): log time: %ld", __FILE__, __LINE__, time(NULL));acl_debug(101, 1)("%s(%d): log time: %ld", __FILE__, __LINE__, time(NULL));acl_debug(101, 0)("%s(%d): log time: %ld", __FILE__, __LINE__, time(NULL));acl_debug(102, 1)("%s(%d): log time: %ld", __FILE__, __LINE__, time(NULL));acl_debug(103, 1)("%s(%d): log time: %ld", __FILE__, __LINE__, time(NULL));acl_debug(104, 1)("%s(%d): log time: %ld", __FILE__, __LINE__, time(NULL));acl_debug(105, 1)("%s(%d): log time: %ld", __FILE__, __LINE__, time(NULL));        ......

?

? ? ? ?ok,有关日志 ?acl 日志记录函数就先写这些,使用者可以根据项目需要采用不同的日志记录方式。

?

? ? ? 参考:

? ? ? 本文地址:http://zsxxsz.iteye.com/blog/1893115

? ? ? 更多文章:http://zsxxsz.iteye.com/

? ? ? 下载:http://sourceforge.net/projects/acl/

? ? ? svn:svn checkout svn://svn.code.sf.net/p/acl/code/trunk acl-code

? ? ? QQ 群:242722074

?

?

?

读书人网 >开源软件

热点推荐