You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在uWSGI中生成包含访问与应用日志的合并日志文件?

实现uWSGI合并访问与应用日志到单个文件的方法

当然可以实现,下面提供两种直接有效的配置方式:

方法一:添加多日志输出目标

直接给访问日志(req-logger)和应用日志(logger)各新增一个指向all_logs文件的输出条目,这样两类日志会同时写入各自的独立文件和合并文件。

修改后的完整配置如下:

[uwsgi]
master = true
http-socket = xyz_port
memory-report = true
module = demo_app.wsgi
...
...
...

log-date = %%d/%%m/%%Y %%H:%%M:%%S %%Z
logformat-strftime = true
logger = stdio
log-format = %(addr) - %(user) [%(ftime)] "%(method) %(uri) %(proto)" %(status) %(size) %(referer) %(uagent) %(pid)
# 原有访问日志输出
req-logger = file:/var/log/demo_app/access_log-@(exec://date +%%Y-%%m-%%d).log
# 新增:访问日志同时写入合并文件
req-logger = file:/var/log/demo_app/all_logs-@(exec://date +%%Y-%%m-%%d).log
# 原有应用日志输出
logger = file:/var/log/demo_app/app_log-@(exec://date +%%Y-%%m-%%d).log
# 新增:应用日志同时写入合并文件
logger = file:/var/log/demo_app/all_logs-@(exec://date +%%Y-%%m-%%d).log
log-reopen = true

说明

  • log-reopen = true 会每天重新执行date命令生成新的日志文件名,确保日志按天分割
  • 两类日志会各自追加到all_logs文件中,保留原有日志格式

方法二:使用管道实现日志复制

借助系统tee命令,通过管道将日志内容同时写入独立文件和合并文件,这种方式可以减少重复配置条目:

[uwsgi]
master = true
http-socket = xyz_port
memory-report = true
module = demo_app.wsgi
...
...
...

log-date = %%d/%%m/%%Y %%H:%%M:%%S %%Z
logformat-strftime = true
logger = stdio
log-format = %(addr) - %(user) [%(ftime)] "%(method) %(uri) %(proto)" %(status) %(size) %(referer) %(uagent) %(pid)
# 访问日志写入独立文件,同时通过tee追加到合并文件
req-logger = pipe:tee -a /var/log/demo_app/access_log-@(exec://date +%%Y-%%m-%%d).log /var/log/demo_app/all_logs-@(exec://date +%%Y-%%m-%%d).log
# 应用日志写入独立文件,同时通过tee追加到合并文件
logger = pipe:tee -a /var/log/demo_app/app_log-@(exec://date +%%Y-%%m-%%d).log /var/log/demo_app/all_logs-@(exec://date +%%Y-%%m-%%d).log
log-reopen = true

注意事项

  • 确保系统中存在tee命令(绝大多数Linux发行版默认自带)
  • 运行uWSGI的用户需要对/var/log/demo_app/目录有读写权限
  • 若需要按天分割日志,log-reopen = true必须开启,否则date命令只会在uWSGI启动时执行一次,后续不会生成新文件

内容的提问来源于stack exchange,提问作者Akash Pagar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 21:23:36