我正在尝试让apache每天根据当前日期创建一个新的错误日志文件。 默认的错误日志文件名是这样的: ErrorLog“/logs/error.log”
我希望它是这样的: ErrorLog“/logs/error_$year$month$day.log”
有什么想法吗?
答案 0 :(得分:1)
查看Cronolog
cronolog是一个简单的过滤程序 从中读取日志文件条目 标准输入和写入每个条目 到a指定的输出文件 文件名模板和当前日期 和时间。当扩展文件名时 更改,当前文件已关闭 并开了一个新的。 cronolog是 打算一起使用 用Web服务器,比如Apache,来 将访问日志分成每日或 月度日志。
答案 1 :(得分:0)
我的方法是为apache配置 logrotate ,以便每天轮换一次apache的日志。
对于每个日志行都有日期信息的自定义日志:
%...{format}t: The time, in the form given by format, which should
be in strftime(3) format. (potentially localized)
您必须使用strftime(man 3 strftime)格式规则:
%F or its equivalent without dashes %Y%m%d
所以:
# CustomLog with explicit format string
CustomLog my_log "%{%Y%m%d}t %h %l %u %t \"%r\" %>s %b"
%{%Y%m%d} t 执行作业
答案 2 :(得分:0)
在httpd.conf中更改为
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
此配置将在错误日志文件达到5兆字节大小时轮换错误日志文件,并且将创建日志文件名称的后缀,格式为errorlog.YYYY-mm-dd-HH_MM_SS。