【问题标题】:How to setup uWSGI vassal names for better log reference?如何设置 uWSGI vassal 名称以获得更好的日志参考?
【发布时间】:2020-08-17 10:52:04
【问题描述】:

信息:

Framweork: Django 2.X 服务:监督; uWSGI
主机:CentOS Linux 7


您好,我目前正在测试如何在我的主机上使用 uWSGI 部署多个 django 应用程序。我根据我的主机和 uWsgi 提供的手册设置了所有内容,并且可以正常工作。但是我想进一步定制一切,以便我能更好地理解一切。

据我了解,我的 uWSGI 服务 uwsgi.ini 目前在皇帝模式下工作,并为我的两个名为 baron_app.iniprince_app.ini 的不同应用程序提供了 vassals 来处理我的不同应用程序。


问题

我注意到err.log 对使用多个应用程序进行调试有点令人困惑。 比如……

announcing my loyalty to the Emperor...
Sat May  2 21:37:58 2020 - [emperor] vassal baron_app.ini is now loyal....
[pid: 26852|app: 0|req: 2/2].....

问题:有没有办法给我的封臣起个名字,以便它打印在日志中?或者告诉 uWSGI 在 Log 中设置某种进程和应用程序日志关系(Emperor - Vassals - Worker 等)?

例如,我可以想象这样的事情,在查找错误时可能会更容易。

#baron_app:  announcing my loyalty to the Emperor...
#emperor:    Sat May  2 21:37:58 2020 - [emperor] vassal baron_app.ini is now loyal....
#prince_app: [pid: 26852|app: 0|req: 2/2].....

我尝试了procname-prefixvassal_name 之类的方法,但它似乎不起作用 - 可能是因为我不知道把它放在哪里,在uwsgi.inivassals*.ini 中?

我当前的设置...


...

[program:uwsgi]
command=uwsgi --master --  %(ENV_HOME)s/uwsgi/apps-enabled 
autostart=true
autorestart=true
stderr_logfile = ~/uwsgi/err.log
stdout_logfile = ~/uwsgi/out.log
stopsignal=INT

vacuum = 1

...

[uwsgi] 
base = /home/kiowa/baron_app/baron_app
chdir = /home/kiowa/baron_app/
static_files = /home/kiowa/baron_app/

http = :8080
master = true
wsgi-file = %(base)/wsgi.py
touch-reload = %(wsgi-file)
static-map = /static=%(static_files)/static_storage/production_static

enable-threads = true
single-interpreter = true

app = wsgi

virtualenv = /home/kiowa/.local/env_baron

plugin = python

uid = kiowa
gid = kiowa

...

[uwsgi] 
base = /home/kiowa/prince_app/baron_app
chdir = /home/kiowa/prince_app/
static_files = /home/kiowa/prince_app/

http = :8000
master = true
wsgi-file = %(base)/wsgi.py
touch-reload = %(wsgi-file)
static-map = /static=%(static_files)/static_storage/production_static

enable-threads = true
single-interpreter = true

app = wsgi

virtualenv = /home/kiowa/.local/prince_app

plugin = python

uid = kiowa
gid = kiowa

【问题讨论】:

    标签: django linux centos uwsgi


    【解决方案1】:

    好的,我可以通过将其放入我的 vassals.ini 来分离我的附庸日志文件

    ; set app / error Log - check
    logger = file:%(var_logs)/vassal_baron/baron_app.log
    
    ; disable default req log and set request Log and - check
    req-logger = file:%(var_logs)/vassal_baron/baron_request.log
    disable-logging = true
    

    【讨论】:

      猜你喜欢
      • 2018-03-26
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 2013-12-07
      相关资源
      最近更新 更多