在文章《ACE日志系统》http://blog.youkuaiyun.com/arose616725/article/details/7593479》中,我们知道有两个重要的配置文件,client.conf server.conf, 现对此文件进行详细说明如下:
一, client.conf
dynamic Client_Logging_Service Service_Object * netsvcs:_make_ACE_Client_Logging_Acceptor() active "-p 20009 -h 127.0.0.1 -k 127.0.0.1:9909"
这一句指示初始化C/S日志的客户端对象配置,其中支持如下三个参数:
1. -p 服务器监听的端口
2. -h 服务器监听的IP地址
3. -k 客户端监听实体程序的监听地址及open的第三个参数logger_key, 当是C/S模式时,我们程序中的open的第三个参数必须与此相对应
二, server.conf
dynamic Logger Service_Object * ACE:_make_ACE_Logging_Strategy() "-s log.txt -f STDERR|OSTREAM"
dynamic Server_Logging_Service Service_Object * netsvcs:_make_ACE_Server_Logging_Acceptor() active "-p 20009"
第一句是初始化日志策略对象配置, 其支持的参数如下:
-f 指示ACE_Log_Msg标志OSTREAM, STDERR, LOGGER, VERBOSE, SILENT, VERBOSE_LITE 及open第二个参数
-i 时间间隔秒及多少秒检查一次当前日志文件大小,=0 时无效, 无效时,参数-m -N -o就被忽略
-k open的第三个参数logger_key 如果-f有LOGGER 此参数又为另一个Client一致,可实现转发
-m 最大日志文件大小,单位KB
-n 设置程序名,当代码中有%n时,用些程序名代替
-N 最多创建日志文件个数,当文件达到此数,将覆盖以前日志文件
-o 覆盖日志时,保持顺序性, 如最多log.txt,log.txt.1,log.txt.2 三个文件,log.txt是正在写的, 数字大的是总比数字小的新,无此指示,带数字的循环覆盖
-p 进程级日志级别设置 (DEBUG, INFO, WARNING, NOTICE, ERROR,CRITICAL, ALERT, EMERGENCY) 或取消 (~DEBUG, ~INFO, ~WARNING, ~NOTICE, ~ERROR, ~CRITICAL,~ALERT, ~EMERGENCY).
-s 日志输出文件全路径,当多文件时,在些文件后加.数字 如:-N=3时 有 log.txt log.tex.1 log.tex.2
-t 同-p 此时作用与线程而已,由于初始化线程是主线程,所以这里对主线程有效
-w 启动服务首次打开日志文件时, 先删除(仅不带数字日志文件)原有内容, 无此参数是追加写入
第二句 初始化日志服务监听对象, 不能设置监听IP,默认所有IP监听,仅支持一个参数如下:
-p 监听客户端连接的端口
本文章是通过阅读源代码分析而作, 如有理解错误,请不吝指正, 谢谢!