首页 > 解决方案 > 为什么 log4j 不显示格式化的 XML 内容

问题描述

我需要在我们的应用程序错误日志文件中打印导致异常的 XML 内容,因此我对其进行了格式化。并将其传递给 log4j 错误方法,如下所示:

String jeton = LoggerUtility.format(ssoLoginInputXml.toString());
log.error(jeton);

问题是 XML 只显示在一行中,这就是我得到的。

2018/08/16 12:09:45.699|12|127.0.0.1|http-bio-8080-exec-8|A1D1E9E080E70CDBE7207B6D45BB6CC8|ERROR|SQAC|<?xml version="1.0" encoding="UTF-8"?> <sar:_in xmlns:sar="http://sar"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://sar_in.xsd">   <data>     <budget id="200"/>     <channel id="WEB"/>     <appcode id="CATIS"/>     <mdp id="NON"/>     <sign id="LOGINPASSWORD">       <login id=""/>       <password id=""/>     </sign>   </data> </sar:_in> 

以下是他要求的 jeton 对象的内容:

<?xml version="1.0" encoding="UTF-8"?>
<sar:_in
xmlns:sar="http://sar"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://sar_in.xsd">
 <data>
    <budget id="200"/>
    <channel id="WEB"/>
    <appcode id="CATIS"/>
    <mdp id="NON"/>
    <sign id="LOGINPASSWORD">
        <login id=""/>
        <password id=""/>
    </sign>
</data>
</sar:_in> 

任何人都有一个想法,它是添加到log4j的配置吗?

标签: javalogginglog4j

解决方案


推荐阅读