如果删除了日志文件,则uWSGI日志记录无效

 小菜鸟 发布于 2023-01-29 18:49

我的目标是旋转uWSGI生成的日志,但是当原始日志文件被删除(压缩后)时,它不会再次重新创建.

所以我认为应用程序需要在删除文件后正常重启主进程.我使用这个RESTART脚本:

/home/tester/uwsgi-18
--reload /var/run/uwsgi/my_app_tester/my_app_tester.pid

应用程序重新启动,但日志没有.

为了再次进行日志记录工作,我需要终止-2进程并再次运行START脚本,以便生成另一个进程号并再次进行日志记录.

显然我不希望这种硬停止只是为了旋转日志......

我的应用程序是使用Catalyst构建的,服务器运行Nginx,这里是uWSGI START脚本:

/home/tester/uwsgi-18
--master
--daemonize /var/log/uwsgi/my_app_tester/log
--socket /tmp/uwsgi/my_app_tester/my_app_tester.socket
--processes 1
--psgi /home/tester/my_app/my_app.psgi
--pidfile /var/run/uwsgi/my_app_tester/my_app_tester.pid
--procname-master TESTER
-L

有没有其他方法可以重新启动应用程序而不会丢失连接和日志记录?

提前谢谢:Migue

1 个回答
  • 你有各种方法:

    1)在logrotate脚本中copytruncate,这将在没有uWSGI帮助的情况下可靠地工作

    2)uWSGI日志轮换:--log-maxsize <bytes>当达到特定大小时,将自动旋转日志

    3)经典的logrotation +日志重新加载,只需添加--log-master并触发日志重新加载http://uwsgi-docs.readthedocs.org/en/latest/MasterFIFO.html

    还有其他方法(比如触摸文件时触发日志重新打开),但前一个是最常见的.

    2023-01-29 18:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有