如何在Docker卷中保存java.util.logging输出

我有一个Java应用程序。 我将我的项目导出为.war文件,构build一个Docker容器并运行它。

结构如下。 对于日志logging我使用java库。

import java.util.logging.Logger; 

在我的应用程序中定义我的variables:

 private static final Logger logger = Logger.getLogger(BusController.class.getName()); 

而对于我使用的输出例如:

 logger.warning("User "+XYZ+" not found!"); 

当我启动我的dockerfile时,我为日志安装了一个额外的卷。

 REGISTRY=xxxxx.net VERSION=latest IMAGE=busMicroservice SERVICE=busmicroservice LOCAL_DATA_PATH=/opt/docker-busmicroservice/data docker run -p xxxx:xxxxx -d -v $LOCAL_DATA_PATH:/logs --name $SERVICE --hostname $SERVICE $REGISTRY/$IMAGE:$VERSION 

docker集装箱启动成功后,我可以检查我的音量

 docker inspect busmicroservice 

并可以看到,我的卷是包括在内。 但是,我现在要做什么,日志将被保存在我的文件夹“/日志”? 我必须在我的Java应用程序中实现什么?

先谢谢你!

———编辑———-

我现在有一个额外的问题的第二个线程: 如何将日志文件保存到泊坞窗卷

你需要使用log4j文件appender。 编辑log4j.properties

 log4j.appender.default.file=org.apache.log4j.FileAppender log4j.appender.default.file.append=true log4j.appender.default.file.file=/log/logfile.log log4j.appender.default.file.threshold=INFO log4j.appender.default.file.layout=org.apache.log4j.PatternLayout log4j.appender.default.file.layout.ConversionPattern=%-5p %c: %m%n 

当应用程序启动时,它会将日志写入/log/logfile.log文件

有关Java应用程序的完整示例,请参阅下文。 https://dzone.com/tutorials/java/log4j/log4j-file-appender-example-1.html