文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>cronolog使用(日志管理)

cronolog使用(日志管理)

时间:2006-11-30  来源:ghbspecial

在Unix的Daemon程序中,利用日志文件来进行记录使用信息或者错误信息是最常用的手段。除了系统本身的syslog可以实现自动的rotation以外,大部分时候的log并不会实现自动的轮换,这样往往导致一个很大的日志文件,在进行查找、历史记录处理和统计等时候带来很多的不方便之住。
 

Cronolog是一个小巧高效的日志文件处理工具,可以实现自动的按规则生成周期性的日志文件。我们以对Apache access log和Tomcat运行日志的处理为例进行说明。
 

 

一.安装
 

1.      到www.cronolog.org下载(目前最新为1.62)的源码包,并解压到某目录;
 

2.      su - root;cd /path/to/cronolog;./configure;make; make install――会将cronolog安装到/usr/local/sbin;同时安装相应的man pages。 建议strip /usr/local/sbin/cronolog以进一步减小其文件大小(大概20多k)。
 

二.基本使用方式
 

cronolog一般是采取管道的方式来工作的,采用如下的形式:
 

# loggenerator | cronolog log_file_pattern
 

其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入cronolog所支持的时间相关的pattern字符,如/www/log/%y/%m/%d/access.log。其patter为%字符后跟一特殊字符,简述如下:
 

转义符:
 

%    %字符
 

n    换行
 

t    水平制表符
 

 

时间域:
 

H    小时(00..23)
 

I    小时(01..12)
 

p    该locale下的AM或PM标识
 

M    分钟(00..59)
 

S    秒 (00..61, which allows for leap seconds)
 

X    该locale下时间表示符(e.g.: "15:12:47")
 

Z    时区。若时区不能确定,则无意义
 

日期域:
 

a    该locale下的工作日简名(e.g.: Sun..Sat)
 

A    该locale下的工作日全名(e.g.: Sunday ..  Satur-ay)
 

b    该locale下的月份简称(e.g.: Jan .. Dec)
 

B    该locale下的月份全称(e.g.:  January .. December)
 

c    该locale下的日期和时间(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    该locale下的日期表示(e.g. "13/04/97")
 

y    两位数的年份(00 .. 99)
 

Y    四位数的年份(1970 .. 2038)
 

 

三.Apache日志的使用方式
 

编辑httpd.conf文件,将其中的
 

CustomLog /usr/local/apache/logs/access_log combined这行,改为:
 

CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/%Y_week_%U/access_log" combined
   注意其中的双引号是必须的,因为这是一个管道操作。上述的配置将在apache的logs目录下,建立形如2002_week_50等按周方式编排的目录,然后将apache的access log写入到access_log文件,格式为combined。  Cronolog将自动完成目录生成,在周期边界点上准时切换等操作。
 

四.Tomcat日志的使用方式
 

目前大部分系统的Tomcat在启动的时候,大部分是以xxx或者portal等非root用户,用nohup command_line &的方式来启动的,tomcat的debug等输出信息将自动追写入tomcat当前目录下的nohup.out文件。时间长了该文件将变得非常大,给处理和清楚带来麻烦。采用cronolog的方式如下:
 

在用户home下建立runlog的目录,用于存放tomcat运行日志;
 

将启动脚本或者监控脚本中的如下命令:
 

cd $HOME/tomcat3/bin;
 

nohup ./startup.sh
 

改成:
 

cd $HOME/tomcat3/bin
 

nohup ./startup.sh 2>&1 | /usr/local/sbin/cronolog /path/to/runlog/tomcat-%Y%m%d.log &
 

 

这样即可在对应的runlog目录下,每天生成一个tomcat的运行日志,为以后的检查和排错带来莫大的好处!
 

    可以这样说,只要是有log的地方,cronolog总可以发挥它的作用――希望能为我们的工作带来好处

相关阅读 更多 +
排行榜 更多 +
风度

风度

游戏工具 下载
大姨妈月经提醒

大姨妈月经提醒

健康医疗 下载
海岸线小说网

海岸线小说网

浏览阅读 下载