diff --git a/Dockerfile b/Dockerfile index 2d1b5bf..f4c63ac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -117,8 +117,8 @@ COPY container_files/httpd/* /etc/httpd/conf.d/ COPY container_files/shibboleth/* /etc/shibboleth/ RUN cp /dev/null /etc/httpd/conf.d/ssl.conf \ - && sed -i 's/LogFormat "/LogFormat "httpd access_log %{ENV}e %{USERTOKEN}e /g' /etc/httpd/conf/httpd.conf \ - && echo -e "\nErrorLogFormat \"httpd error_log %{ENV}e %{USERTOKEN}e [%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i\"" >> /etc/httpd/conf/httpd.conf \ + && sed -i 's/LogFormat "/LogFormat "httpd;access_log;%{ENV}e;%{USERTOKEN}e;/g' /etc/httpd/conf/httpd.conf \ + && echo -e "\nErrorLogFormat \"httpd;error_log;%{ENV}e;%{USERTOKEN}e;[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i\"" >> /etc/httpd/conf/httpd.conf \ && sed -i 's/CustomLog "logs\/access_log"/CustomLog "\/tmp\/logpipe"/g' /etc/httpd/conf/httpd.conf \ && sed -i 's/ErrorLog "logs\/error_log"/ErrorLog "\/tmp\/logpipe"/g' /etc/httpd/conf/httpd.conf \ && echo -e "\nPassEnv ENV" >> /etc/httpd/conf/httpd.conf \ diff --git a/container_files/api/log4j.properties b/container_files/api/log4j.properties index 06abdb8..9b9c5d4 100644 --- a/container_files/api/log4j.properties +++ b/container_files/api/log4j.properties @@ -31,14 +31,14 @@ log4j.appender.grouper_event = org.apache.log4j.FileA log4j.appender.grouper_event.file = /tmp/logpipe log4j.appender.grouper_event.append = true log4j.appender.grouper_event.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_event.layout.ConversionPattern = grouper-api grouper_event.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_event.layout.ConversionPattern = grouper-api;grouper_event.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Grouper API error logging log4j.appender.grouper_error = org.apache.log4j.FileAppender log4j.appender.grouper_error.file = /tmp/logpipe log4j.appender.grouper_errot.append = true log4j.appender.grouper_error.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_error.layout.ConversionPattern = grouper-api grouper_error.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_error.layout.ConversionPattern = grouper-api;grouper_error.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n #log4j.appender.grouper_error.layout.ConversionPattern = %d{ISO8601}: %m%n # Debug logging (Or: logging that I haven't cleaned up yet to send elsewhere) @@ -47,7 +47,7 @@ log4j.appender.grouper_debug.file = /tmp/logpipe log4j.appender.grouper_debug.append = true log4j.appender.grouper_debug.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_debug.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_debug.layout.ConversionPattern = grouper-api grouper_debug.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_debug.layout.ConversionPattern = grouper-api;grouper_debug.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Benchmark logging log4j.appender.grouper_gb = org.apache.log4j.FileAppender @@ -55,7 +55,7 @@ log4j.appender.grouper_gb.file = /tmp/logpipe log4j.appender.grouper_gb.append = true log4j.appender.grouper_gb.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_gb.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_gb.layout.ConversionPattern = grouper-api grouper_bench.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_gb.layout.ConversionPattern = grouper-api;grouper_bench.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n # Loggers diff --git a/container_files/shibboleth/shibd.logger b/container_files/shibboleth/shibd.logger index 9269aeb..c5685b2 100644 --- a/container_files/shibboleth/shibd.logger +++ b/container_files/shibboleth/shibd.logger @@ -45,15 +45,15 @@ log4j.appender.shibd_log=org.apache.log4j.FileAppender log4j.appender.shibd_log.fileName=/tmp/logpipe log4j.appender.shibd_log.maxFileSize=0 log4j.appender.shibd_log.layout=org.apache.log4j.PatternLayout -log4j.appender.shibd_log.layout.ConversionPattern=shibd shibd.log ${ENV} ${USERTOKEN} %d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n +log4j.appender.shibd_log.layout.ConversionPattern=shibd;shibd.log;${ENV};${USERTOKEN};%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n log4j.appender.tran_log=org.apache.log4j.FileAppender log4j.appender.tran_log.fileName=/tmp/logpipe log4j.appender.tran_log.maxFileSize=0 log4j.appender.tran_log.layout=org.apache.log4j.PatternLayout -log4j.appender.tran_log.layout.ConversionPattern=shibd transaction.log ${ENV} ${USERTOKEN} %d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n +log4j.appender.tran_log.layout.ConversionPattern=shibd;transaction.log;${ENV};${USERTOKEN};%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n log4j.appender.sig_log=org.apache.log4j.FileAppender log4j.appender.sig_log.fileName=/tmp/logpipe log4j.appender.sig_log.layout=org.apache.log4j.PatternLayout -log4j.appender.sig_log.layout.ConversionPattern=shibd signature.log ${ENV} ${USERTOKEN} %m +log4j.appender.sig_log.layout.ConversionPattern=shibd;signature.log;${ENV};${USERTOKEN};%m diff --git a/container_files/tomcat/conf/log4j2.xml b/container_files/tomcat/conf/log4j2.xml index 8be4fd1..673de68 100644 --- a/container_files/tomcat/conf/log4j2.xml +++ b/container_files/tomcat/conf/log4j2.xml @@ -6,11 +6,11 @@ - + - + diff --git a/container_files/tomee/conf/log4j2.xml b/container_files/tomee/conf/log4j2.xml index 427f8b9..a4bbc1b 100644 --- a/container_files/tomee/conf/log4j2.xml +++ b/container_files/tomee/conf/log4j2.xml @@ -6,11 +6,11 @@ - + - + diff --git a/container_files/ui/classes/log4j.properties b/container_files/ui/classes/log4j.properties index 383838b..12e5eff 100644 --- a/container_files/ui/classes/log4j.properties +++ b/container_files/ui/classes/log4j.properties @@ -31,14 +31,14 @@ log4j.appender.grouper_event = org.apache.log4j.FileA log4j.appender.grouper_event.file = /tmp/logpipe log4j.appender.grouper_event.append = true log4j.appender.grouper_event.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_event.layout.ConversionPattern = grouper-ui grouper_event.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_event.layout.ConversionPattern = grouper-ui;grouper_event.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Grouper API error logging log4j.appender.grouper_error = org.apache.log4j.FileAppender log4j.appender.grouper_error.file = /tmp/logpipe log4j.appender.grouper_errot.append = true log4j.appender.grouper_error.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_error.layout.ConversionPattern = grouper-ui grouper_error.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_error.layout.ConversionPattern = grouper-ui;grouper_error.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n #log4j.appender.grouper_error.layout.ConversionPattern = %d{ISO8601}: %m%n # Debug logging (Or: logging that I haven't cleaned up yet to send elsewhere) @@ -47,7 +47,7 @@ log4j.appender.grouper_debug.file = /tmp/logpipe log4j.appender.grouper_debug.append = true log4j.appender.grouper_debug.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_debug.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_debug.layout.ConversionPattern = grouper-ui grouper_debug.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_debug.layout.ConversionPattern = grouper-ui;grouper_debug.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Benchmark logging log4j.appender.grouper_gb = org.apache.log4j.FileAppender @@ -55,7 +55,7 @@ log4j.appender.grouper_gb.file = /tmp/logpipe log4j.appender.grouper_gb.append = true log4j.appender.grouper_gb.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_gb.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_gb.layout.ConversionPattern = grouper-ui grouper_bench.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_gb.layout.ConversionPattern = grouper-ui;grouper_bench.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n # Loggers diff --git a/container_files/usr-local-bin/gsh b/container_files/usr-local-bin/gsh index 563e564..0539b40 100755 --- a/container_files/usr-local-bin/gsh +++ b/container_files/usr-local-bin/gsh @@ -4,4 +4,6 @@ prepDaemon +export GSH_JVMARGS="-DENV=$ENV -DUSERTOKEN=$USERTOKEN" + exec bin/gsh "$@" | tee /tmp/loggrouper diff --git a/container_files/usr-local-bin/library.sh b/container_files/usr-local-bin/library.sh index e21cc1e..ea7f414 100644 --- a/container_files/usr-local-bin/library.sh +++ b/container_files/usr-local-bin/library.sh @@ -1,24 +1,31 @@ #!/bin/sh +setupPipe() { + if [ -e $1 ]; then + rm $1 + fi + mkfifo -m 666 $1 +} + # Make a "console" logging pipe that anyone can write too regardless of who owns the process. -mkfifo -m 666 /tmp/logpipe -cat <> /tmp/logpipe 1>&2 & +setupPipe /tmp/logpipe +cat <> /tmp/logpipe & # Make loggers pipes for the supervisord connected apps' console, so that we can prepend the streams. -mkfifo -m 666 /tmp/loggrouper -(cat <> /tmp/loggrouper | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "grouper console %s %s %s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe) & +setupPipe /tmp/loggrouper +(cat <> /tmp/loggrouper | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "grouper;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' &>/tmp/logpipe) & -mkfifo -m 666 /tmp/loghttpd -(cat <> /tmp/loghttpd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "httpd console %s %s %s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe) & +setupPipe /tmp/loghttpd +(cat <> /tmp/loghttpd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "httpd;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' &>/tmp/logpipe) & -mkfifo -m 666 /tmp/logshibd -(cat <> /tmp/logshibd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "shibd console %s %s %s", ENV, UT, $0; fflush()}' 1>/tmp/logpipe) & +setupPipe /tmp/logshibd +(cat <> /tmp/logshibd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "shibd;console;%s;%s;%s", ENV, UT, $0; fflush()}' &>/tmp/logpipe) & -mkfifo -m 666 /tmp/logtomcat -(cat <> /tmp/logtomcat | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "tomcat console %s %s %s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe) & +setupPipe /tmp/logtomcat +(cat <> /tmp/logtomcat | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "tomcat;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' &>/tmp/logpipe) & -mkfifo -m 666 /tmp/logsuperd -(cat <> /tmp/logsuperd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "supervisord console %s %s %s\n", ENV, UT, $0; fflush()}' 1>/tmp/logpipe) & +setupPipe /tmp/logsuperd +(cat <> /tmp/logsuperd | awk -v ENV="$ENV" -v UT="$USERTOKEN" '{printf "supervisord;console;%s;%s;%s\n", ENV, UT, $0; fflush()}' &>/tmp/logpipe) & linkGrouperSecrets() { diff --git a/container_files/ws/classes/log4j.properties b/container_files/ws/classes/log4j.properties index 1bf749a..c104dc1 100644 --- a/container_files/ws/classes/log4j.properties +++ b/container_files/ws/classes/log4j.properties @@ -31,14 +31,14 @@ log4j.appender.grouper_event = org.apache.log4j.FileA log4j.appender.grouper_event.file = /tmp/logpipe log4j.appender.grouper_event.append = true log4j.appender.grouper_event.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_event.layout.ConversionPattern = grouper-ws grouper_event.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_event.layout.ConversionPattern = grouper-ws;grouper_event.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Grouper API error logging log4j.appender.grouper_error = org.apache.log4j.FileAppender log4j.appender.grouper_error.file = /tmp/logpipe log4j.appender.grouper_errot.append = true log4j.appender.grouper_error.layout = org.apache.log4j.PatternLayout -log4j.appender.grouper_error.layout.ConversionPattern = grouper-ws grouper_error.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_error.layout.ConversionPattern = grouper-ws;grouper_error.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n #log4j.appender.grouper_error.layout.ConversionPattern = %d{ISO8601}: %m%n # Debug logging (Or: logging that I haven't cleaned up yet to send elsewhere) @@ -47,7 +47,7 @@ log4j.appender.grouper_debug.file = /tmp/logpipe log4j.appender.grouper_debug.append = true log4j.appender.grouper_debug.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_debug.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_debug.layout.ConversionPattern = grouper-ws grouper_debug.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_debug.layout.ConversionPattern = grouper-ws;grouper_debug.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n ## Benchmark logging log4j.appender.grouper_gb = org.apache.log4j.FileAppender @@ -55,7 +55,7 @@ log4j.appender.grouper_gb.file = /tmp/logpipe log4j.appender.grouper_gb.append = true log4j.appender.grouper_gb.layout = org.apache.log4j.PatternLayout #log4j.appender.grouper_gb.layout.ConversionPattern = %d{ISO8601} %5p %c{2}: %m%n -log4j.appender.grouper_gb.layout.ConversionPattern = grouper-ws grouper_bench.log ${ENV} ${USERTOKEN} %d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n +log4j.appender.grouper_gb.layout.ConversionPattern = grouper-ws;grouper_bench.log;${ENV};${USERTOKEN};%d{ISO8601}: [%t] %-5p %C{1}.%M(%L) - %x - %m%n # Loggers