我使用下面的uwsgi日志配置文件为Django应用程序。它创建两个日志文件:
- access_log-2023-10-13.log
- app_log-2023-10-13.log
现在我想再创建一个名为all_logs-2023-10-13.log的日志文件,它将包含两个access + app
日志文件数据。有没有办法创造这个?
[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
logger = file:/var/log/demo_app/app_log-@(exec://date +%%Y-%%m-%%d).log
log-reopen = true
1条答案
按热度按时间yb3bgrhw1#
uWSGI documentation概述了如何使用
--log-route
将基于正则表达式的日志消息定向到不同的目的地。但是,它没有提供将来自不同来源的合并日志组合到单个文件中的直接方法。
您需要创建一个简单的脚本来合并日志文件,该脚本可以安排每天运行,以将
access_log
和app_log
合并为all_logs
。例如:
但是我的日志文件每天都在使用日志轮换进行压缩。那么,为all_logs创建手动脚本是个好主意吗?
然后,可以在日志旋转/压缩之前每天调度脚本,以便每天生成
all_logs.20xxMMJJ
。