通过log4j.xml设置ThrowableRenderer

时间:2015-03-19 16:23:01

标签: java log4j

我需要使用log4j设置自定义堆栈跟踪格式。如果我使用log4j属性log4j.throwableRenderer=package.ThrowableRenderer一切正常。如何以log4j.xml格式完成相同的操作?我用log4j.xml格式和ThrowableRendered找到的唯一一篇文章是here。但这不起作用。该属性不是设置记录器和断点也不在调试中工作。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration strict="true" status="info">
    <ThrowableRenderer class="package.ThrowableRenderer"/>
    <Appenders>
        <Appender filePattern="file{yyyy-MM-dd}.log"
                  fileName="file.log" name="logfile" type="RollingFile">
            <Layout type="PatternLayout">
                <Pattern>%d{HH:mm:ss,SSS}- %m%n</Pattern>
            </Layout>
            <Policies>
                <TimeBasedTriggeringPolicy modulate="false" interval="1"/>
            </Policies>
        </Appender>
    </Appenders>
    <Loggers>
         ...
    </Loggers>
</Configuration>

如何设置ThrowableRenderer log4j.xml或我在哪里可以找到有关它的文档?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

事实证明,log4j并不支持ThrowableRenderer。相反,您可以扩展ThrowablePatternConverter并创建新的ConverterKey。后记只是将键添加到convertorPattern,如

<Pattern>%d{HH:mm:ss} %m%n%YOUR_CREATED_KEY</Pattern>