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]
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]