Redhat / Openshift上的My Spring启动应用程序使用显示的log4j2.xml文件。
问题是我找不到应用程序日志文件。
我的问题是:
我被建议在de application-openshift.properties文件中使用它。离开这些线路没有任何后果。
logging.file = ${OPENSHIFT_DATA_DIR}/logs/app.log
logging.level = INFO
我的src / main / resources / log4j2.xml文件包含以下内容。我也将它配置为Console进行本地测试。是的,以后我可以区分每个环境(不是现在)。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="File" fileName="logs/app2.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="File" />
</Root>
<Logger name="nl.xyz.mod" level="debug" additivity="false">
<AppenderRef ref="File" />
</Logger>
<Root level="info">
<AppenderRef ref="Console" />
</Root>
<Logger name="nl.xyz.mod" level="info" additivity="false">
<AppenderRef ref="Console" />
</Logger>
</Loggers>
</Configuration>
答案 0 :(得分:0)
终于解决了!
log4j2.xml文件中的更改标有** ... ***。
您可以通过OpenShift环境变量为日志文件指定一个好的目标。在log4j2.xml文件中,您可以通过$ {env:OPENSHIFT_DATA_DIR}指定。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<!-- ** location of the file is: ${env:OPENSHIFT_DATA_DIR}/logs/app2.log" ** -->
<File name="File" fileName="${env:OPENSHIFT_DATA_DIR}/logs/app2.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="File" />
</Root>
<Logger name="nl.deholtmans.tjm1706" level="debug" additivity="false">
<AppenderRef ref="File" />
</Logger>
<Root level="info">
<AppenderRef ref="Console" />
</Root>
<Logger name="nl.deholtmans.tjm1706b" level="info" additivity="false">
<AppenderRef ref="Console" />
</Logger>
</Loggers>
</Configuration>