xml - 获取log4j2.xml中${catalina.base}的值

标签 xml log4j2

以下是我的 log4j2.xml 文件。我正在尝试将我的日志文件放入 tomcat。但在这里它从字面上选择 ${catalina.base} 并在当前目录中创建一个具有相同名称的文件夹,即 ${catalina.base} 。我还检查了 ${catalina.base} 是否已设置,如果我使用的是 .properties 文件,它会返回正确的值。如何在 log4j2.xml 中获取 ${catalina.base} 的值。任何帮助表示赞赏。我被困在它上面。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace">
<Properties>
    <Property name="log-path" >${catalina.base}</Property>
</Properties>
<Appenders>
    <Console name="Console"
             target="SYSTEM_OUT">
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %t [%t] (%F:%L) - %m%n" />
    </Console>

    <!--<File name="MyFile"-->
          <!--append="true" immediateFlush="true"-->
          <!--fileName="${log-path}/tearsLog.log">-->
        <!--<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %t [%t] (%F:%L) - %m%n" />-->
    <!--</File>-->

    <RollingFile name="MyRollingFile"
                 append="true" immediateFlush="true"
                 fileName="${log-path}/logs/catalina.log"
                 filePattern="${log-path}/logs/catalina_%d{yyyy-MM-dd}.log">
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %t [%t] (%F:%L) - %m%n" />
        <Policies>
            <TimeBasedTriggeringPolicy filePattern="${LOG_DIR}/application.%d{dd-MMM-hh}.log.gz" />
        </Policies>
        <DefaultRolloverStrategy max="10" />
    </RollingFile>
</Appenders>

<Loggers>
    <Logger name="com.visa.dp.ags.probe.api.server" level="debug" additivity="false">
        <AppenderRef ref="Console" />
        <!--<AppenderRef ref="MyFile" level="trace" />-->
        <AppenderRef ref="MyRollingFile" />
    </Logger>

    <Root level="debug">
        <AppenderRef ref="Console" />
        <!--<AppenderRef ref="MyFile" level="trace" additivity="false" />-->
        <AppenderRef ref="MyRollingFile" additivity="false" />
    </Root>
</Loggers>

最佳答案

尝试为 catalina.base 设置上下文, IE。

<Properties>
    <Property name="log-path" >$${sys:catalina.base}</Property>
</Properties>

关于xml - 获取log4j2.xml中${catalina.base}的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55471811/

相关文章:

java - log4j2 与 Java 11 兼容吗?

javascript - 无法让我的 XML 文档删除Child

xml - XSLT 聚合使用 Muenchian 方法进行排序以获取最小值和最大值

java - 如何在 log4j2 中以编程方式更改 Appender 布局?

java - 为什么 Slf4j+Log4j2 中的 MarkerPatternSelector 配置不起作用?

java - Log4j2 SMTP 到 Office365

xml - 使用 XSLT 从参数中获取确切的词?

c# - 使用 C# 将内联 XML 节点转换为 asp.net 中的嵌套节点

java - "center_horizontal|center_vertical"和 "center"有区别吗

java - Unix 环境下的 Log4j2