我正在使用log4j來記錄我的應用程序發送的請求/響應XML。log4j和XML內容
問題是xml內容正在用換行符記錄。 任何有關如何格式化的建議,以保持xml結構,因爲它是接收?
以下是我的appender:
<appender name="xmlFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="d:/LOG/log4j/appName_${weblogic.Name}_XMLS.log" />
<param name="Append" value="true" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="ActiveFileName" value="d:/LOG/log4j/appName_${weblogic.Name}_XMLS.log" />
<param name="FileNamePattern" value="d:/LOG/log4j/appName_${weblogic.Name}_XMLS.%d.log.gz" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{DATE}][%-p][%c{3}%x][%m]%n"/>
</layout>
</appender>
對不起,我想我的問題還不夠清楚。我想刪除出現在日誌消息本身內的新行。你建議修改轉換模式會導致日誌創建爲一行(不是我想要的)。 – 2010-09-20 11:02:15
好的。我還不清楚你在問什麼。聽起來好像,您可以在進行日誌記錄調用時刪除換行符,也可以在內部覆蓋記錄器並刪除換行符。實現第一個選項的最簡單方法是使用一個Aspect,在進行日誌調用時交叉切割代碼。在那裏,沿着'logMessage.replaceAll(「\\ n」,「」);'的代碼會去掉換行符。問題在於,您想在哪裏放置該代碼:在一個方面,在Log4JLogger的子類中,或者在代碼中進行日誌調用的任何地方? – gMale 2010-09-20 13:38:36