如何按日期分割Nginx error.log?

时间:2019-03-11 04:24:42

标签: nginx openresty

我想按日期分割nginx error.log,但不起作用

这是我的代码:

if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
    set $year $1;
    set $month $2;
    set $day $3;
}
access_log logs/access.log.$year$month$day main;
error_log  logs/error.log.$year$month$day;

但结果是:

enter image description here

2 个答案:

答案 0 :(得分:0)

根据this thread,不允许在error_log指令中使用变量。

  

是设计使然。变量仅适用于HTTP请求,而error_log不仅限于HTTP。

但是,您可以使用logrotate或创建为您进行重命名的脚本,请从ServerFault中检查以下related question

答案 1 :(得分:0)

将您的块添加到服务器{}块中,它应该可以工作。