Apache日志分隔
1、下载工具cronolog
#wget
http://cronolog.org/download/cronolog-1.6.2.tar.gz
2、解压、编译、安装
# tar -zxvf cronolog-1.6.2.tar.gz
# cd cronolog-1.6.2
# ./configure
# make;make install
3、应用到web的配置文件中
<VirtualHost *:80>
ServerName 192.168.2.98
DocumentRoot "/servyou/webroot/"
TransferLog "|/usr/local/sbin/cronolog /servyou/app/apache/logs/servyou_home_access.%Y%m%d.log"
ErrorLog "|/usr/local/sbin/cronolog /servyou/app/apache/logs/servyou_home_error.%Y%m%d.log"
KeepAliveTimeout 15
<Directory "/home/webroot/">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
4、查看效果
[root@Servcenter logs]# ll
total 895568
-rw-r--r-- 1 root root
17301 Aug 17 18:45 servyou_home_access.20120817.log
-rw-r--r-- 1 root root
103 Aug 17 18:44 servyou_home_error.20120817.log
5、cronolog的使用说明
cronolog通常以管道方式作为日志过滤程序在应用的配置文件中调用。
cronolog通常以管道方式作为日志过滤程序在应用的配置文件中调用。
直接用法是:
/path/to/cronolog [OPTIONS] logfile-spec
其中:
OPTIONS:cronolog的选项,可通过下面示例中的-h 或 --help选项查看,此处不再介绍。
本文获取帮助信息示例:
/usr/local/cronolog/sbin/cronolog -h
或:
/usr/local/cronolog/sbin/cronolog --help
logfile-spec: 是描述输出的日志文件名的模板,每一个无前导%的字符都是文件名的组成部分,%后面跟一个字符为日期和时间格式串,将被下表列出的它们代表的实际字串所替换。
特殊格式串:
%% %字符
%n 新行
%t tab字符
时间格式串:
%H 24小时制小时(00..23)
%I 12小时制小时(01..12)
%p 本地AM/PM指示符
%M 分钟(00..59)
%S 秒(00..61)
%X 本地时间(e.g.: "15:12:47")
%Z 时区 (e.g. GMT),如果不能检测出时区,值为空
日期格式串:
%a 本地简短星期名(e.g.: Sun..Sat)
%A 本地完整星期名(e.g.: Sunday .. Saturday)
%b 本地简短月名(e.g.: Jan .. Dec)
%B 本地完整月名(e.g.: January .. December)
%c 本地日期与时间(e.g.: "Sun Dec 15 14:12:47 GMT 1996")
%d 一月中的第几日(01 .. 31)
%j 一年中的第几天 (001 .. 366)
%m 月名的数字表示 (01 .. 12)
%U 一年中以星期日为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期日)
%W 一年中以星期一为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期一)
%w 星期名的数字表示 (0 .. 6, 0为星期日)
%x 本地日期 (e.g. 今天在北京是: "15/12/96")
%y 不带世纪的年(00 .. 99)
%Y 带世纪的年(1970 .. 2038)
下面是在apache中的用法:
CustomLog "|/path/to/cronolog [OPTIONS] logfile-spec" [format]
OPTIONS、logfile-spec同上面的直接用法,format为apache配置指令CustomLog的日志格式参数。