nginx日志格式配置

nginx日志对于统计排错来说非常有利的,nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,通俗的理解就是先用log_format来定义自己想用的日志格式,然后在用access_log定义虚拟主机时或全局日志时在把定义的log_format 跟在后面。

log_format 格式

log_format name( 格式名字) 格式样式(即想要得到什么样的日志内容)

默认的示例:

log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

注释:

$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
$remote_user :用来记录客户端用户名称;
$time_local : 用来记录访问时间与时区;
$request : 用来记录请求的url与http协议;
$status : 用来记录请求状态;成功是200,
$body_bytes_s ent :记录发送给客户端文件主体内容大小;
$http_referer :用来记录从那个页面链接访问过来的;
$http_user_agent :记录客户端浏览器的相关信息;

还有更多的参数,可以根据自己的需求定义

用access_log指令日志文件存放路径

用了log_format 指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径;

access_log path(存放路径) format (自定义日志名称)

示例:

access_log logs/access.log main;

我们用log_format 定义了一个mylogformat的日志 我们可以写成这样

access_log logs/access.log mylogformat ;

如果不想启用日志 :

access_log off ;

注意:

access.log文件是可以按日期进行分割的,方便查看及处理。

回复

This site uses Akismet to reduce spam. Learn how your comment data is processed.