Java log4j2可以';t在日志文件中写入异常跟踪

Java log4j2可以';t在日志文件中写入异常跟踪,java,log4j2,Java,Log4j2,我试图在日志文件中打印异常的堆栈跟踪,但没有效果。配置文件如下所示: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{dd-MM-YYYY

我试图在日志文件中打印异常的堆栈跟踪,但没有效果。配置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{dd-MM-YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.zip">
            <PatternLayout>
                <alwaysWriteExceptions>false</alwaysWriteExceptions>
                <pattern>%d{dd-MM-YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg %n %ex</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="WARN">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="RollingFile" />
        </Root>
    </Loggers>
</Configuration>
您正在构造一个要打印的字符串。异常的
toString
是从
Throwable
继承的,它在那里打印异常类名和消息。这将被添加到字符串“类异常:”中,以形成一个正在打印的字符串

您希望将异常作为参数传递给
记录器。error

logger.error("Class exception: " + e, e);

谢谢很好。
logger.error("Class exception: " + e);
logger.error("Class exception: " + e, e);