nginx:[emerg]未知的日志格式

nginx:[emerg]未知的日志格式,nginx,logging,Nginx,Logging,我试图将pingdom排除在我的nginx访问日志中,但出现以下错误: nginx: [emerg] unknown log format "if=$excluded_ua" in /etc/nginx/nginx.conf:55 nginx: configuration file /etc/nginx/nginx.conf test failed 在我要添加的配置中: http { ... map $http_user_agent $excluded_ua { pin

我试图将pingdom排除在我的nginx访问日志中,但出现以下错误:

nginx: [emerg] unknown log format "if=$excluded_ua" in /etc/nginx/nginx.conf:55
nginx: configuration file /etc/nginx/nginx.conf test failed
在我要添加的配置中:

http {
...

  map $http_user_agent $excluded_ua {
         pingdom  0;
         ~Preload 0;
         default 1;
     }

        access_log /var/log/nginx/access.log combined if=$excluded_ua;

...
}
更正错误后,我仍然在access文件中看到Pingdom条目

94.247.174.83 - - [26/Oct/2017:22:02:56 +0100] "GET / HTTP/1.1" 200 14832 "-" "Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)"

您可能需要包含日志格式。默认值是合并的。如果=$excluded\u ua;,您可以尝试访问\u log/var/log/nginx/access.log组合吗


您可能需要包含日志格式。默认值是合并的。如果=$excluded\u ua;,您可以尝试访问\u log/var/log/nginx/access.log组合吗


事实上,这不会产生错误,但并不能解决问题。您是否已检查以确保$excluded\u ua的计算正确?也许您可以尝试在~*pingdom0;;~*将进行不区分大小写的匹配。您可以通过强制if=0并检查access_log中是否排除了所有日志来验证$excluded_ua是否未正确计算。好的,我现在已经解决了这个问题,感谢您指出正确的方向,实际上这不会产生错误,但这并不能解决问题。您是否检查过以确保$excluded\u ua的评估正确?也许您可以尝试在~*pingdom0;;~*将进行不区分大小写的匹配。通过强制if=0并检查access\u log中是否排除了所有日志,您可以验证$excluded\u ua的计算是否正确。好的,我现在已经解决了这个问题,谢谢您指出了正确的方向