Openshift:Spring启动:log4j设置 - 配置并查找应用程序日志文件

时间:2017-05-13 11:48:39

标签: spring-boot log4j openshift log4j2

Redhat / Openshift上的My Spring启动应用程序使用显示的log4j2.xml文件。

问题是我找不到应用程序日志文件。

我的问题是:

  • 下面我将介绍在Openshift上配置Spring启动的log4j日志记录的方法。它是否正确?
  • 我在哪里可以找到应用程序日志文件logs / app2.log?它不在Openshift上。
  • 是的,我知道通过application-openshift.properties设置还有一个app.log文件。那个永远不会改变。为什么?

我被建议在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>

1 个答案:

答案 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>