Nginx - 在 access.log 中记录一个可能未初始化的变量

问题描述

我的设置如下:

location.conf

location /foo {
    set $x "foo"
}

location /foo2 {
    set $notX "foo2"
}

Nginx.conf

http {
..
..
log_format access_format $x
access_log  /var/log/Nginx/access.log  access_format ;
..
..
}

访问日志在我点击 /foo 时打印正确,但当我访问 /foo2 时,日志打印在 error.log 中,但有异常 using uninitialized "x" variable while logging request

我尝试在 location.confNginx.conf添加 if 条件,但这会导致配置无效。 我还尝试使用 Nginx.conf 中的地图设置认值,如下所示,但这也无济于事

http {
..
..
map $x $new_x {
  '' "dummy"
  default $x
}

log_format access_format $new_x
access_log  /var/log/Nginx/access.log  access_format ;
..
..
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...