Auf Thema antworten

Hallo,

ich habe mal eine Frage zu Log4j2 in Docker Container. Mein Backend soll verschiedene Events loggen und das funktioniert derzeit auch local.

Ich habe bisher ein image meiner application erstellt und jetzt läuft auch der Container. Ich habe nur das Problem, dass keine LogFiles gespeichert werden.

Ich hatte jetzt erstmal versucht, dass die LogFiles trotzdem auf meinem localen System gespeichert werden, aber ich möchte eigentlich, dass die LogFiles in einem Volume im Container gespeichert wird.

Ich habe aber keine Ahnung, wie ich das in meinen Log4j2.properties festlege, dass er das in dem Volume speichert.


[CODE lang="java" title="Dockerfile"]FROM openjdk:12

ADD target/eventpusher.jar eventpusher.jar

EXPOSE 8090

VOLUME //C:/Users/MAREKL/Desktop/Logfiles

ENTRYPOINT ["java","-jar","eventpublisherbackend.jar"][/CODE]


[CODE lang="java" title="Log4j2.properties"]status = error

name=PropertiesConfig


property.filename = C:\\Users\\MarekL\\Desktop\\Logfiles

appenders = file, console


appender.console.type = Console

appender.console.name = STDOUT

appender.console.layout.type = PatternLayout

appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n


#error appender

appender.file.type = RollingFile

appender.file.name = RollingFile

appender.file.fileName= ${filename}/error.log

appender.file.filePattern = ${filename}/error.log -%d{MM-dd-yy-HH-mm-ss}-%i.log.gz

appender.file.layout.type=PatternLayout

appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

appender.file.policies.type = Policies

appender.file.policies.size.type = SizeBasedTriggeringPolicy

appender.file.policies.size.size= 1 kb

appender.rolling.strategy.type = DefaultRolloverStrategy


#using LevelRangeFilter to only log error levels.

appender.file.filter.threshold.type = LevelRangeFilter

appender.file.filter.threshold.minLevel = error

appender.file.filter.threshold.maxLevel = error


# creating only one logger, we can use this with multiple appenders.

loggers=file

# this is package name. This package and all of it's child packages will use this logger

logger.file.name=de.osp.eventmanagerbackend

# logger base level

logger.file.level = error

logger.file.appenderRefs = RollingFile

logger.file.additivity = false

logger.file.appenderRef.file.ref = RollingFile


rootLogger.level = error

rootLogger.appenderRefs = stdout

rootLogger.appenderRef.stdout.ref = STDOUT[/CODE]



Oben