? Google和Blog,两种文化正在改变我们的生活 | Blog首页 | 关于windows上的lsass.exe进程 ?
安装cronolog,格式化Apache的日志文件
作者:eygle |English Version 【转载时请以超链接形式标明文章出处和作者信息及本声明】
链接: http://www.eygle.com/archives/2004/12/cronologneapach.html
--------------------------------------------------------------------------------
站内相关文章|Related Articles
eygle.com完成建站以来最大的一次迁移
作者:eygle |English Version 【转载时请以超链接形式标明文章出处和作者信息及本声明】
链接: http://www.eygle.com/archives/2004/12/cronologneapach.html
--------------------------------------------------------------------------------
站内相关文章|Related Articles
eygle.com完成建站以来最大的一次迁移
MT归档分页插件(Paged Archives)几个问题的解决
如何才能防止拉网页?
What's Mean "TCP: Treason uncloaked! Peer..shrinks window..Repaired."
对referrers.cgi(反向链接)的一点调整
使用cronolog可以格式化日志文件的格式,比如按时间分割,易于管理和分析。
cronolog的安装配置非常简单,简要说明如下:
1.下载软件
http://cronolog.org/download/index.html
http://cronolog.org/download/cronolog-1.6.2.tar.gz
2.解压缩
gzip -d cronolog-1.6.2.tar.gz
tar xf cronolog-1.6.2.tar
2.进入相应的目录 ./configure
cronolog的安装配置非常简单,简要说明如下:
1.下载软件
http://cronolog.org/download/index.html
http://cronolog.org/download/cronolog-1.6.2.tar.gz
2.解压缩
gzip -d cronolog-1.6.2.tar.gz
tar xf cronolog-1.6.2.tar
2.进入相应的目录 ./configure
3.make
4.make install
5.修改apache配置文件
以下是我的安装日志,供大家参考:
[root@eygle opt]# wget
http://cronolog.org/download/cronolog-1.6.2.tar.gz
--08:05:12-- http://cronolog.org/download/cronolog-1.6.2.tar.gz
=> `cronolog-1.6.2.tar.gz'
Resolving cronolog.org... done.
Connecting to cronolog.org[217.160.212.212]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 133,591 [application/x-gzip]
--08:05:12-- http://cronolog.org/download/cronolog-1.6.2.tar.gz
=> `cronolog-1.6.2.tar.gz'
Resolving cronolog.org... done.
Connecting to cronolog.org[217.160.212.212]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 133,591 [application/x-gzip]
100%[==================================>] 133,591 26.23K/s ETA 00:00
08:05:19 (26.23 KB/s) - `cronolog-1.6.2.tar.gz' saved [133591/133591]
[root@eygle opt]# gzip -d cronolog-1.6.2.tar.gz
[root@eygle opt]# tar xf cronolog-1.6.2.tar
[root@eygle opt]# cd cronolog-1.6.2
[root@eygle cronolog-1.6.2]# ls
aclocal.m4 config.cache configure cronolog.spec install-sh Makefile.am mkinstalldirs src
AUTHORS config.log configure.in doc lib Makefile.in NEWS testsuite
ChangeLog config.status COPYING INSTALL Makefile missing README TODO
[root@eygle cronolog-1.6.2]# ./configure
loading cache ./config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... (cached) yes
checking for ranlib... (cached) ranlib
checking for perl... (cached) /usr/bin/perl
checking how to run the C preprocessor... (cached) gcc -E
checking for ANSI C header files... (cached) yes
checking whether stat file-mode macros are broken... (cached) no
checking whether time.h and sys/time.h may both be included... (cached) yes
checking whether struct tm is in sys/time.h or time.h... (cached) time.h
checking for tm_zone in struct tm... (cached) yes
checking for fcntl.h... (cached) yes
checking for limits.h... (cached) yes
checking for unistd.h... (cached) yes
checking for working const... (cached) yes
checking for size_t... (cached) yes
checking whether struct tm is in sys/time.h or time.h... (cached) time.h
checking for strftime... (cached) yes
checking for vprintf... (cached) yes
checking for mkdir... (cached) yes
checking for mktime... (cached) yes
checking for putenv... (cached) yes
checking for strptime... (cached) yes
checking for localtime_r... (cached) yes
creating ./config.status
creating Makefile
creating lib/Makefile
creating src/Makefile
creating doc/Makefile
creating testsuite/Makefile
creating src/cronosplit
[root@eygle cronolog-1.6.2]# make
Making all in lib
make[1]: Entering directory `/opt/cronolog-1.6.2/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/lib'
Making all in src
make[1]: Entering directory `/opt/cronolog-1.6.2/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/src'
Making all in doc
make[1]: Entering directory `/opt/cronolog-1.6.2/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/doc'
Making all in testsuite
make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Entering directory `/opt/cronolog-1.6.2'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/opt/cronolog-1.6.2'
[root@eygle cronolog-1.6.2]# make install
Making install in lib
make[1]: Entering directory `/opt/cronolog-1.6.2/lib'
make[2]: Entering directory `/opt/cronolog-1.6.2/lib'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2/lib'
make[1]: Leaving directory `/opt/cronolog-1.6.2/lib'
Making install in src
make[1]: Entering directory `/opt/cronolog-1.6.2/src'
make[2]: Entering directory `/opt/cronolog-1.6.2/src'
/bin/sh ../mkinstalldirs /usr/local/sbin
/usr/bin/install -c cronolog /usr/local/sbin/cronolog
/bin/sh ../mkinstalldirs /usr/local/sbin
/usr/bin/install -c cronosplit /usr/local/sbin/cronosplit
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2/src'
make[1]: Leaving directory `/opt/cronolog-1.6.2/src'
Making install in doc
make[1]: Entering directory `/opt/cronolog-1.6.2/doc'
make[2]: Entering directory `/opt/cronolog-1.6.2/doc'
make[2]: Nothing to be done for `install-exec-am'.
/bin/sh ../mkinstalldirs /usr/local/info
/usr/bin/install -c -m 644 ./cronolog.info /usr/local/info/cronolog.info
install-info --info-dir=/usr/local/info /usr/local/info/cronolog.info
make install-man1
make[3]: Entering directory `/opt/cronolog-1.6.2/doc'
/bin/sh ../mkinstalldirs /usr/local/man/man1
/usr/bin/install -c -m 644 ./cronolog.1m /usr/local/man/man1/cronolog.1m
/usr/bin/install -c -m 644 ./cronosplit.1m /usr/local/man/man1/cronosplit.1m
make[3]: Leaving directory `/opt/cronolog-1.6.2/doc'
make[2]: Leaving directory `/opt/cronolog-1.6.2/doc'
make[1]: Leaving directory `/opt/cronolog-1.6.2/doc'
Making install in testsuite
make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite'
make[2]: Entering directory `/opt/cronolog-1.6.2/testsuite'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Entering directory `/opt/cronolog-1.6.2'
make[2]: Entering directory `/opt/cronolog-1.6.2'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2'
make[1]: Leaving directory `/opt/cronolog-1.6.2'
[root@eygle cronolog-1.6.2]# which cronolog
/usr/local/sbin/cronolog
安装完成以后需要对apache进行适当配置,修改httpd.conf文件,主要注意以下几点:
1.自定义日志格式
CustomLog "|/pub/cronolog/sbin/cronolog /weblog/log/web01/access_log.%Y%m%d" combined
2.如果存在多个虚拟站点
可以考虑在VirtualHost进行相应设置
[root@eygle opt]# gzip -d cronolog-1.6.2.tar.gz
[root@eygle opt]# tar xf cronolog-1.6.2.tar
[root@eygle opt]# cd cronolog-1.6.2
[root@eygle cronolog-1.6.2]# ls
aclocal.m4 config.cache configure cronolog.spec install-sh Makefile.am mkinstalldirs src
AUTHORS config.log configure.in doc lib Makefile.in NEWS testsuite
ChangeLog config.status COPYING INSTALL Makefile missing README TODO
[root@eygle cronolog-1.6.2]# ./configure
loading cache ./config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... (cached) yes
checking for ranlib... (cached) ranlib
checking for perl... (cached) /usr/bin/perl
checking how to run the C preprocessor... (cached) gcc -E
checking for ANSI C header files... (cached) yes
checking whether stat file-mode macros are broken... (cached) no
checking whether time.h and sys/time.h may both be included... (cached) yes
checking whether struct tm is in sys/time.h or time.h... (cached) time.h
checking for tm_zone in struct tm... (cached) yes
checking for fcntl.h... (cached) yes
checking for limits.h... (cached) yes
checking for unistd.h... (cached) yes
checking for working const... (cached) yes
checking for size_t... (cached) yes
checking whether struct tm is in sys/time.h or time.h... (cached) time.h
checking for strftime... (cached) yes
checking for vprintf... (cached) yes
checking for mkdir... (cached) yes
checking for mktime... (cached) yes
checking for putenv... (cached) yes
checking for strptime... (cached) yes
checking for localtime_r... (cached) yes
creating ./config.status
creating Makefile
creating lib/Makefile
creating src/Makefile
creating doc/Makefile
creating testsuite/Makefile
creating src/cronosplit
[root@eygle cronolog-1.6.2]# make
Making all in lib
make[1]: Entering directory `/opt/cronolog-1.6.2/lib'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/lib'
Making all in src
make[1]: Entering directory `/opt/cronolog-1.6.2/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/src'
Making all in doc
make[1]: Entering directory `/opt/cronolog-1.6.2/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/doc'
Making all in testsuite
make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Entering directory `/opt/cronolog-1.6.2'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/opt/cronolog-1.6.2'
[root@eygle cronolog-1.6.2]# make install
Making install in lib
make[1]: Entering directory `/opt/cronolog-1.6.2/lib'
make[2]: Entering directory `/opt/cronolog-1.6.2/lib'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2/lib'
make[1]: Leaving directory `/opt/cronolog-1.6.2/lib'
Making install in src
make[1]: Entering directory `/opt/cronolog-1.6.2/src'
make[2]: Entering directory `/opt/cronolog-1.6.2/src'
/bin/sh ../mkinstalldirs /usr/local/sbin
/usr/bin/install -c cronolog /usr/local/sbin/cronolog
/bin/sh ../mkinstalldirs /usr/local/sbin
/usr/bin/install -c cronosplit /usr/local/sbin/cronosplit
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2/src'
make[1]: Leaving directory `/opt/cronolog-1.6.2/src'
Making install in doc
make[1]: Entering directory `/opt/cronolog-1.6.2/doc'
make[2]: Entering directory `/opt/cronolog-1.6.2/doc'
make[2]: Nothing to be done for `install-exec-am'.
/bin/sh ../mkinstalldirs /usr/local/info
/usr/bin/install -c -m 644 ./cronolog.info /usr/local/info/cronolog.info
install-info --info-dir=/usr/local/info /usr/local/info/cronolog.info
make install-man1
make[3]: Entering directory `/opt/cronolog-1.6.2/doc'
/bin/sh ../mkinstalldirs /usr/local/man/man1
/usr/bin/install -c -m 644 ./cronolog.1m /usr/local/man/man1/cronolog.1m
/usr/bin/install -c -m 644 ./cronosplit.1m /usr/local/man/man1/cronosplit.1m
make[3]: Leaving directory `/opt/cronolog-1.6.2/doc'
make[2]: Leaving directory `/opt/cronolog-1.6.2/doc'
make[1]: Leaving directory `/opt/cronolog-1.6.2/doc'
Making install in testsuite
make[1]: Entering directory `/opt/cronolog-1.6.2/testsuite'
make[2]: Entering directory `/opt/cronolog-1.6.2/testsuite'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Leaving directory `/opt/cronolog-1.6.2/testsuite'
make[1]: Entering directory `/opt/cronolog-1.6.2'
make[2]: Entering directory `/opt/cronolog-1.6.2'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/opt/cronolog-1.6.2'
make[1]: Leaving directory `/opt/cronolog-1.6.2'
[root@eygle cronolog-1.6.2]# which cronolog
/usr/local/sbin/cronolog
安装完成以后需要对apache进行适当配置,修改httpd.conf文件,主要注意以下几点:
1.自定义日志格式
CustomLog "|/pub/cronolog/sbin/cronolog /weblog/log/web01/access_log.%Y%m%d" combined
2.如果存在多个虚拟站点
可以考虑在VirtualHost进行相应设置
ServerAdmin
webmaster@dummy-host.example.com
DocumentRoot /www/docs/dummy-host.example.com
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
DocumentRoot /www/docs/dummy-host.example.com
ServerName dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
我的 www.eygle.com存在多个子站点,但是都使用了同一个日志文件
配置后生成日志文件的效果:
[root@eygle logs]# ls -l access_log.20041226
-rw-r--r-- 1 root root 110425 Dec 26 09:10 access_log.20041226
转载于:https://blog.51cto.com/chinawl/284772