2013-03-14 94 views
9

我修改了配置rsyslogd以禁用RSYSLOG_TraditionalFileFormat。 但仍然apache日志/var/log/apache/error.log只显示第二精度。提高apache日志的精度,包括毫秒

是否还有其他需要配置的东西?

+1

不应该被这个问题问的ServerFault? – bahrep 2013-03-14 09:43:50

+0

嗯,你可能是对的,但标签在那里! – dangonfast 2013-03-14 09:44:56

+0

我该如何将它移动到ServerFault? – dangonfast 2013-03-14 10:06:51

回答

8

http://httpd.apache.org/docs/current/mod/mod_log_config.html 看到differemt时间格式,包括毫秒 从只要改变

%t 
to 
%{%d/%b/%Y:%T}t-%{msec_frac}t for miliseconds 
or 
%{%d/%b/%Y:%T}t-%{usec_frac}t for microsecs 

实施例: 16/MAR/2013:22:44:34-634 16/MAR/2013:22 :44:34-634200

Documenation阿帕奇

%t收到请求的时间,格式为[18/Sep/2011:19:18:28 -0400]。最后一个数字表示格林尼治时间的时区偏移量

%{format} t格式给出的格式应该处于扩展strftime(3)格式(可能已本地化)的时间。如果格式以begin开头:(默认),则在请求处理开始时采用该时间。如果它以结束开始:这是写入日志条目的时间,接近请求处理的结尾。除了通过的strftime(3)支持的格式,下面的格式的令牌被支持:自从微秒由于时代

微秒数的时代

毫秒数毫秒的秒

秒数大纪元

msec_frac毫秒分数

usec_frac微秒分数

这些标记不能在相同的格式字符串中彼此组合或使用strftime(3)格式化。您可以改为使用多个%{格式} t令牌。

的strftime(3)格式化 http://man7.org/linux/man-pages/man3/strftime.3.html

+1

只是一个说明 - 这不适用于2.2,但只适用于apache 2.4+ – 2015-01-23 18:06:42

+0

似乎不适用于Apache 2.4.10: ErrorLogFormat“%{%d /%b /%Y:%T} t - %{ msec_frac}输出: Fri Feb 20 16:32:[%m:%l] 18 2015-2015-02-20 16:32:18 [core:notice] [pid 2162:tid 140307424573312] AH00094:命令行:'/ usr/sbin/apache2' – Sirex 2015-02-20 13:33:44