Nginx is a powerful application level proxy server. Seja para solução de problemas ou análise, permitir níveis de log e formatos personalizados para os logs de acesso/erro é um requisito comum.

registos de erros

por omissão, apenas as mensagens na categoria de erro são registadas. Se quiser activar mais detalhes, então modifique a nginx.,conf como:

error_log file 

a Habilitação de nível de depuração no Linux, normalmente de aspecto:

error_log /var/log/nginx/error.log debug;

os Logs de Acesso

os logs de Acesso e seu formato também são personalizadas em nginx.conf. Por padrão, se nenhum formato é especificado, então o formato combinado é usado.

access_log file 

Então, o mais comum de sintaxe em um sistema Linux parece:

access_log /var/log/nginx/access.log;

o Que é equivalente a especificar explicitamente o formato combinado, como abaixo:

Usando o combinado formato de log pode ser muito conveniente uma vez que muitas ferramentas de análise de log (por exemplo,, ELK ou splunk) têm filtros pré-construídos para consumir esses logs. No entanto, quando há uma necessidade, como quando Nginx está ouvindo em várias portas e você precisa saber em que porto o tráfego chegou, então faz sentido desviar-se do formato combinado.

Por exemplo, se quiser adicionar a porta de tráfego que chega, então irá usar a variável $server_port e a sua nginx.conf seria como:

outras variáveis disponíveis podem ser encontradas na documentação aqui.