首页 > 解决方案 > Log4j 不显示进程 PID

问题描述

我刚刚安装并配置了 log4j。
它可以工作,但不显示进程 PID,而是打印${sys:PID}而不是例如 12941。
我的log4j-config:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT" follow="true">
            <PatternLayout
                    disableAnsi="false"
                    pattern="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} %highlight{${LOG_LEVEL_PATTERN:-%5p}}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=green, DEBUG=green bold, TRACE=blue} %style{${sys:PID}}{magenta} --- [%15.15t] %style{%-40.40C{1.}}{cyan} : %m%n%ex"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="all">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

控制台输出

那么,我该如何解决这个问题?

标签: javalogginglog4j

解决方案


我替换sys:PID%pid并开始工作。我从github issue


推荐阅读