Sign inSign up

mvpjava/java-docker-logging

By mvpjava

•Updated over 6 years ago

Java util logger logging to 2 separate files and re-routed to stderr and stdout via symbolic links

Image
0

1.3K

mvpjava/java-docker-logging repository overview

Java util logger logging to 2 separate files and re-routed to stderr and stdout via symbolic links in Dockerfile.

Shows difference between writing logs to file (using the tag ":to-file") vs re-directing to stderr and stdout with tag ":symbolic-links" and ":latest".

Check out Blog Post: http://mvpjava.com/docker-logging-symlink-hack/⁠ Check out YouTube Video Tutorial: https://youtu.be/TFCua2yj09Y⁠

  1. Bypass container read/write layer.

    Can confirm by launching 2 containers (one with :to-file tag and another with tag ":symbolic-links" OR ":latest")

    $ docker container run -d --rm --name java-docker-log-demo-to-file mvpjava/java-docker-logging:to-file

    $ docker container run -d --rm --name java-docker-log-demo-sym-links mvpjava/java-docker-logging:symbolic-links

    $ watch docker ps -s

  2. Multiplex logs which can be retrieved via ...

    $ docker container logs java-docker-log-demo-sym-links (note: contains both stderr and stdout)

    $ docker container logs java-docker-log-demo-to-file (note: does NOT contain BOTH stderr and stdout)

⁠Dockerfile

FROM openjdk:14

COPY logging-demo-0.0.1-SNAPSHOT.jar /tmp

RUN ln -sf /dev/stdout /tmp/java-app.log
&& ln -sf /dev/stderr /tmp/java-app-errors.log

CMD java -jar /tmp/logging-demo-0.0.1-SNAPSHOT.jar

FROM openjdk:14

COPY logging-demo-0.0.1-SNAPSHOT.jar /tmp

CMD java -jar /tmp/logging-demo-0.0.1-SNAPSHOT.jar

Tag summary

Content type

Image

Digest

Size

251.6 MB

Last updated

over 6 years ago

docker pull mvpjava/java-docker-logging