简体   繁体   English

通过log4j.xml设置ThrowableRenderer

[英]set ThrowableRenderer via log4j.xml

I need to set up a custom stacktrace format with log4j . 我需要使用log4j设置自定义stacktrace格式。 If I use log4j property log4j.throwableRenderer=package.ThrowableRenderer everything works fine. 如果我使用log4j属性log4j.throwableRenderer=package.ThrowableRenderer一切正常。 How can I accomplish the same with log4j.xml format? 如何使用log4j.xml格式完成相同操作? The only article I found with both log4j.xml format and ThrowableRendered is here .But this doesn't work. 我在这里找到的唯一同时具有log4j.xml格式和ThrowableRendered的文章。但这是行不通的。 The property isn't setting to logger and breakpoints don't work in debug too. 该属性未设置为logger,断点在调试中也不起作用。

<?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>

How do I set the ThrowableRenderer with log4j.xml or where I can find the documentation to read about it? 如何使用log4j.xml设置ThrowableRenderer或在哪里可以找到有关此文档的文档?

Best regards, 最好的祝福,

It turned out that log4j doesn't support ThrowableRenderer. 原来,log4j不支持ThrowableRenderer。 Instead you can extend ThrowablePatternConverter and create a new ConverterKey . 相反,您可以扩展ThrowablePatternConverter并创建一个新的ConverterKey Afterwords just add the key to the convertorPattern like 后记只是将密钥添加到convertorPattern

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM