black_hole_sun
black_hole_sun

Reputation: 956

How to "log-maxsize" the uWSGI vassal logger?

i am started uWSGI via supervisord in Emperor Mode to deploy multiple Django Apps in near future. So far i only deployed one App for testing purposes.

I would like to seperate the emperor logs from my vassals. So far the loggers work. Except that i can not apply log-maxsize to my vassals logger - thats also applies to my vassals req-logger.

[uwsgi]

[program:uwsgi]
command=uwsgi 
    --master 
    --emperor %(ENV_HOME)s/etc/uwsgi/vassals
    --logto %(ENV_HOME)s/logs/uwsgi/emperor/emperor.log
    --log-maxsize 20
    --enable-threads
    --log-master

<...autostart etc...>

[garden_app] - vassal

<...>
; ---------
; # Logger #
; ---------
; diable default req log and set request Log 
req-logger = file:%(var_logs)/vassal_garden/garden_request.log
disable-logging = true
log-4xx = true
log-5xx = true
log-maxsize = 20
; set app / error Log
logger = file:%(var_logs)/vassal_garden/garden_app.log
log-maxsize = 20
<...>

As you can see i set the log-maxsize very low to see the effects immediately.

First of all - all logs working separately. However, while my emperor creates new files (emperor.log.122568) after reaching the log-maxsize my Vassal files still growing above the log-maxsize or in other words nothing happens they don´t create garden_app.log.56513.

So my Question is: How to set log-maxsize for my vassals loggers? Applies log-maxsize only to logto?

I also tried logto or logto2 on my vassal but then my emperor says "unloyal bad behaving vassal" or "Permission denied".

Upvotes: 0

Views: 1410

Answers (1)

black_hole_sun
black_hole_sun

Reputation: 956

My Solution after looking long into. Now i get separate logs and rotates.

  1. change the options from logger to logto . logger will do the log job, but it does not rotate, for whatever reason. Also do not use file:.
  2. Make sure to make supervisorctl reread and supervisorctl update after changes on your uwsgi.ini

uwsgi.ini

[program:uwsgi]
command=uwsgi 
    --master 
    --emperor %(ENV_HOME)s/etc/uwsgi/vassals 
    --logto %(ENV_HOME)s/logs/uwsgi/emperor/emperor.log
    --log-maxsize 350000
    --enable-threads

<...autostart etc...>

[garden_app] - vassal

<...>
; ---------
; # Logger #
; ---------
; default req logger and set request Log and - currently disabled 
req-logger = file:%(var_logs)/vassal_garden/garden_request.log
disable-logging = true
log-4xx = true
log-5xx = true
log-maxsize = 350000
; set app / error Log - check
logto = %(var_logs)/vassal_garden/garden_app.log 
log-maxsize = 350000
log-backupname = %(var_logs)/vassal_garden/garden_app.old.log
<...>

Upvotes: 0

Related Questions