summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShane McDonald <me@shanemcd.com>2021-04-02 20:16:51 +0200
committerShane McDonald <me@shanemcd.com>2021-04-02 20:16:51 +0200
commitfccfef442c22a99ac2ac439b2dc6ed25bc2cfa0f (patch)
treeac6bda8697e5fc917938e9ee5f671c4bd232038d
parentMerge pull request #9737 from jlmitch5/workflowConvergence (diff)
downloadawx-fccfef442c22a99ac2ac439b2dc6ed25bc2cfa0f.tar.xz
awx-fccfef442c22a99ac2ac439b2dc6ed25bc2cfa0f.zip
Make logs more readable in development environment
This uses https://github.com/coderanger/supervisor-stdout to prefix process names before log messages in the dev env
-rw-r--r--tools/ansible/roles/dockerfile/templates/Dockerfile.j24
-rw-r--r--tools/docker-compose/supervisor.conf39
2 files changed, 26 insertions, 17 deletions
diff --git a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2
index 617f4e9200..bbdcfadcf5 100644
--- a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2
+++ b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2
@@ -119,7 +119,7 @@ RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master
RUN curl -L -o /usr/bin/tini https://github.com/krallin/tini/releases/download/v0.19.0/tini-{{ tini_architecture | default('amd64') }} && \
chmod +x /usr/bin/tini
-RUN python3.8 -m ensurepip && pip3 install "virtualenv < 20" supervisor {% if build_dev|bool %}black{% endif %}
+RUN python3.8 -m ensurepip && pip3 install "virtualenv < 20" supervisor
RUN rm -rf /root/.cache && rm -rf /tmp/*
@@ -153,6 +153,8 @@ RUN dnf -y install \
unzip && \
npm install -g n && n 14.15.1 && dnf remove -y nodejs
+RUN pip3 install black git+https://github.com/coderanger/supervisor-stdout
+
# This package randomly fails to download.
# It is nice to have in the dev env, but not necessary.
# Add it back to the list above if the repo ever straighten up.
diff --git a/tools/docker-compose/supervisor.conf b/tools/docker-compose/supervisor.conf
index fc2eb2d028..9d0cd4ded3 100644
--- a/tools/docker-compose/supervisor.conf
+++ b/tools/docker-compose/supervisor.conf
@@ -12,8 +12,9 @@ stopsignal=KILL
stopasgroup=true
killasgroup=true
redirect_stderr=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
+
[program:awx-receiver]
command = make receiver
@@ -24,8 +25,8 @@ stopsignal=KILL
stopasgroup=true
killasgroup=true
redirect_stderr=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
[program:awx-wsbroadcast]
command = make wsbroadcast
@@ -36,8 +37,8 @@ stopsignal=KILL
stopasgroup=true
killasgroup=true
redirect_stderr=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
[program:awx-uwsgi]
command = make uwsgi
@@ -48,8 +49,8 @@ stopwaitsecs = 1
stopsignal=KILL
stopasgroup=true
killasgroup=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
[program:awx-daphne]
command = make daphne
@@ -60,16 +61,16 @@ stopwaitsecs = 1
stopsignal=KILL
stopasgroup=true
killasgroup=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
[program:awx-nginx]
command = make nginx
autostart = true
autorestart = true
redirect_stderr=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
[program:awx-rsyslogd]
command = rsyslogd -n -i /var/run/awx-rsyslog/rsyslog.pid -f /var/lib/awx/rsyslog/rsyslog.conf
@@ -80,8 +81,8 @@ stopsignal=TERM
stopasgroup=true
killasgroup=true
redirect_stderr=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
[program:awx-receptor]
command = receptor --config /etc/receptor/receptor.conf
@@ -91,8 +92,8 @@ stopsignal = KILL
stopasgroup = true
killasgroup = true
redirect_stderr=true
-stdout_logfile=/dev/fd/1
-stdout_logfile_maxbytes=0
+stdout_events_enabled = true
+stderr_events_enabled = true
[group:tower-processes]
programs=awx-dispatcher,awx-receiver,awx-uwsgi,awx-daphne,awx-nginx,awx-wsbroadcast,awx-rsyslogd
@@ -106,3 +107,9 @@ serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL for a
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[eventlistener:stdout]
+command = supervisor_stdout
+buffer_size = 100
+events = PROCESS_LOG
+result_handler = supervisor_stdout:event_handler