How to generate a JSON log from nginx?

前端 未结 3 2059
心在旅途
心在旅途 2020-12-23 15:57

I\'m trying to generate a JSON log from nginx.

I\'m aware of solutions like this one but some of the fields I want to log include user generated input (like HTTP hea

3条回答
  •  既然无缘
    2020-12-23 16:54

    You can try to use:

    • addition module for Nginx nginx-http-json-log

    • Use any language as done in nginx-json-logformat with example /etc/nginx/conf.d/json_log.conf

    • A version of the Nginx HTTP stub status module that outputs in JSON format

    PS: The if parameter (1.7.0) enables conditional logging. A request will not be logged if the condition evaluates to “0” or an empty string:

    map $status $http_referer{
        ~\xXX  0;
        default 1;
    }
    
    access_log /path/to/access.log combined if=$http_referer;
    

    It’s a good idea to use a tool such as https://github.com/zaach/jsonlint to check your JSON data. You can test the output of your new logging format and make sure it’s real-and-proper JSON.

提交回复
热议问题