自定义Nginx访问日志格式 log_format指令用法

自定义一下nginx的访问日志格式,可以方便工作中的对日志的分析。主要要使用到两个指令,分别是log_formataccess_log

示例

#WebLog
log_format weblog	'$remote_addr - $remote_user [$time_local] "$request" '
			'$status $body_bytes_sent "$http_referer" '
			'"$http_user_agent" $http_x_forwarded_for';
 
access_log  /data/wslogs/1987.name_access.log  weblog;

log_format指令:

语法 log_format name string ...
默认值 combined "..."
使用字段 http

参数说明:

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

access_log指令:

语法 access_log path [ format [ buffer = size ]]
access_log off
默认值 logs/access.log combined
使用字段 http
server
location
if in location
limit_except

记录的日志格式如下:

66.249.73.68 - - [17/Dec/2012:17:03:52 +0800] "GET /2011/11/1659.html HTTP/1.1" 200 9028 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
117.23.132.87 - - [17/Dec/2012:17:03:53 +0800] "GET /2012/03/8907.html HTTP/1.1" 200 8044 "http://www.baidu.com/s?wd=web%20equation&ie=utf-8" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)"
117.23.132.87 - - [17/Dec/2012:17:03:54 +0800] "GET /favicon.ico HTTP/1.1" 200 1150 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)"

暂无评论

写评论

您必须登录后才可以发表评论。

本人从事电脑网络维护工作多年,对电脑配置较为熟悉,闲暇之余精心搜罗了目前主流电脑配置清单推荐给大家。紧跟市场动态,定期更新电脑硬件配置方案,扫除一切垃圾坑爹配置,提供最具性价比的电脑配置清单!本站涵盖内容包括:电脑组装机配置单、电脑组装机报价、电脑组装机教程等,另外还提供很多技术文章供您学习!