nginx log_format main 和 basic 可以同时存在一个nginx里面吗
时间: 2024-03-21 08:37:52 浏览: 13
是的,`log_format`指令可以定义多个不同的日志格式,而且这些日志格式可以同时存在一个 Nginx 配置文件中。可以在 `http` 块中定义多个不同的 `log_format` 指令,然后在 `server` 块或 `location` 块中使用它们。
例如,在 `http` 块中定义 `main` 和 `basic` 两个日志格式:
```
http {
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
log_format basic '$remote_addr $remote_user [$time_local] '
'"$request" $status $body_bytes_sent';
...
}
```
然后在 `server` 块或 `location` 块中使用它们:
```
server {
...
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
...
}
location /api {
...
access_log /var/log/nginx/api.log basic;
...
}
```
在上面的例子中,`access_log` 指令分别使用了 `main` 和 `basic` 两个日志格式。