在控制台而不是日志文件中查看主管执行
See supervisor executions in console rather than a logfile
现在,当我执行 sudo supervisorctl restart all
所有程序 restart.Then 程序 tracker_asgi_workers 执行的任何内容都被写入 worker.log 文件。我想在命令行提示符下实时查看执行情况,就像我们在执行 python manage.py runserver
时看到的那样。我应该为 stdout_logfile 变量分配什么值?
[program:tracker_asgi_workers]
command=/home/datasleek/trackervenv/bin/python /home/datasleek/tracker/manage.py runworker
stdout_logfile = /home/datasleek/tracker/logs/worker.log
process_name=asgi_worker%(process_num)s
numprocs=8
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8 ; Set UTF-8 as default encoding
autostart=true
autorestart=true
redirect_stderr=True
stopasgroup=true
我认为你不能轻易做到这一点,因为主管进程意味着 运行 在后台。但是,您可以实时将输出打印到控制台上的日志文件。
像往常一样启动由主管管理的进程,运行此命令可在控制台上查看实时输出。
tail -f /home/datasleek/tracker/logs/worker.log
您也可以将它们打印在您的终端上并实时查看会发生什么:
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stdout
stderr_logfile_maxbytes=0
现在,当我执行 sudo supervisorctl restart all
所有程序 restart.Then 程序 tracker_asgi_workers 执行的任何内容都被写入 worker.log 文件。我想在命令行提示符下实时查看执行情况,就像我们在执行 python manage.py runserver
时看到的那样。我应该为 stdout_logfile 变量分配什么值?
[program:tracker_asgi_workers]
command=/home/datasleek/trackervenv/bin/python /home/datasleek/tracker/manage.py runworker
stdout_logfile = /home/datasleek/tracker/logs/worker.log
process_name=asgi_worker%(process_num)s
numprocs=8
environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8 ; Set UTF-8 as default encoding
autostart=true
autorestart=true
redirect_stderr=True
stopasgroup=true
我认为你不能轻易做到这一点,因为主管进程意味着 运行 在后台。但是,您可以实时将输出打印到控制台上的日志文件。
像往常一样启动由主管管理的进程,运行此命令可在控制台上查看实时输出。
tail -f /home/datasleek/tracker/logs/worker.log
您也可以将它们打印在您的终端上并实时查看会发生什么:
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stdout
stderr_logfile_maxbytes=0