那些年的记忆

习惯改变行为,行为决定命运。

定义Nginx日志格式

与nginx日志相关的有两条命令:log_format和access_log;前者用来设置日志格式,后者用来指定日志文件的存放路径、格式和缓存大小。

1. log_format 格式

log_format name(格式名字不能重复) 格式样式

例如:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_s ent "$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   记录客户毒啊浏览器的相关信息;


2. access_log指定日志文件存放路径

access_log  path  format

例如:

access_log /var/log/nginx/access.log main;

注意:log_format可以在http{}中和server{}里定义,如果在http中定义的话,在server中直接调用即可。



实例:

使用log_format定义nginx日志格式

log_format testversion '$remote_addr\t$time_local'
                '\t"$request"\t$status\t$body_bytes_sent'
                '"\t$http_referer"\t"$http_user_agent"';


指定log路径,注意这里最后面要指定日志格式名,如:testversion

access_log /var/log/nginx/testversion.access.log testversion;


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。