Nginx 按年月日生成日志文件
通过服务器的配置文件(.conf)来设置日志文件生成格式。
【需要了解】
$time_iso8601 是内嵌变量用来获取时间,获取的时间格式如下:2020-08-21T16:01:02+02:00。于是我们使用正则表达式来获取所需时间的详细数据。
【具体步骤】
1、按天生成日志
server
{
# 其它配置
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
set $year $1;
set $month $2;
set $day $3;
}
access_log /var/logs/7l7y/access-$year-$month-$day.log main;
error_log /var/logs/7l7y/error.log warn;
# 其它配置
}
2、按时分秒生成日志
server
{
# 其它配置
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})")
{
set $year $1;
set $month $2;
set $day $3;
set $hour $4;
set $minutes $5;
set $seconds $6;
}
access_log /var/logs/7l7y/access-$year-$month-$day-$hour-$minutes-$seconds.log main;
error_log /var/logs/7l7y/error.log warn;
# 其它配置
}
实际部署环境如下图:
