我從log4j的轉向的logback所以我需要我的log4j.xml到logback.xml如何將log4j.xml轉換爲logback.xml?
回答
轉換如果你可以用手回你可以在項目的logback網站上使用the log4j.properties to logback.xml translator log4j屬性的格式翻譯。
我知道這..無論如何謝謝。 –
我遇到了同樣的問題並找到了更好的解決方案。首先,您需要從最新的log4j.xml開始。我仍然有像category
和priority
標籤的東西,在配置中必須分別替換爲logger
和level
。然後刪除每個特定的appender,例如RollingFileAppender
。之後你將不得不手動轉換這些。
然後按照this blog的指示將log4j.xml文件轉換爲使用Xalan和XSLT轉換過濾器的logback.xml文件。由於這個博客的內容對我的答案來說非常寶貴,我個人認爲這篇文章可以是found in the wayback machine以防萬一。另外,該文章不提供所需庫的版本。下面是我用了一個:
- 串行器2.7.1
- 的Xalan-2.7.0
- xercesImpl-2.6.2
- XML的API-1.3.02
這裏是我工作的命令行(在所有庫和資源所在的文件夾中執行):
java -classpath xalan-2.7.0.jar org.apache.xalan.xslt.Process -IN log4j.xml -XSL log4j-to-logback.xsl -OUT logback.xml
現在大部分工作已經完成。首先,我重組了所有的記錄器,就像它們在原始log4j.xml文件中一樣,以便於進一步比較。然後我手工轉換了特殊的appender。它比看起來更容易,documentation比較清楚。下面是一個例子(最複雜的,我不得不處理實際):
<!-- Log4J Configuration -->
<appender name="myAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${catalina.base}/logs/myApp.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="20MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %X{param} %-5p %m%n" />
</layout>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="PATTERN1" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.StringMatchFilter">
<param name="StringToMatch" value="PATTERN2" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>
<!-- Logback configuration -->
<appender name="myAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.base}/logs/myApp.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${catalina.base}/logs/myApp.log.%i</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
<expression>return message.contains("PATTERN1");</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
<expression>return message.contains("PATTERN2");</expression>
</evaluator>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
<encoder>
<pattern>%d %X{param} %-5p %m%n</pattern>
</encoder>
</appender>
注意:如果您的配置要求使用評估過濾器像我這樣的,你需要聲明JANINO和公共編譯器(版本相同作爲slf4j)在您的項目庫
- 1. 將log4j.properties轉換爲log4j.xml的腳本
- 2. 使用SLF4J Migrator從log4j切換到SLF4j如何使用logback.xml替換log4j.xml
- 3. 將log4j.xml轉換爲log4j2.xml的懶惰方式
- 4. 如何將錢轉換爲
- 5. 在logback.xml中使用替換(p){r,t}轉換替換'〜'
- 6. 如何在的log4j.xml
- 7. 如何將MSSQL轉儲轉換爲MySql
- 8. 如何將換行符轉換爲\ n
- 9. 如何防止將decimal.TryParse轉換爲「。」爲「。」?
- 10. 如何將'+'轉換爲+,'*'爲*等
- 11. 替換logback.xml文件目錄
- 12. 如何將變體轉換爲(或轉換爲)AnsiChar?
- 13. 將DrawingContext轉換爲幾何?
- 14. 將System.Drawing.Point轉換爲JSON。如何將'X'和'Y'轉換爲'x'和'y'?
- 15. 如何使用FFMPEG將視頻轉換爲flv並將其轉換爲flv?
- 16. 如何使用Scala將普通類轉換爲JSON並將其轉換爲JSON?
- 17. 如何使用Ghostscript將XPS轉換爲PDF或將XPS轉換爲DOC?
- 18. 如何將cairo-pdf轉換爲eps,而無需將字體轉換爲輪廓
- 19. 如何在將enml轉換爲html時將en-media轉換爲im
- 20. 如何使用的log4j.xml
- 21. 如何使用全局log4j.xml
- 22. 如何將圖像轉換爲字節[]?
- 23. 如何將wstring轉換爲LPOLESTR?
- 24. 如何將對象轉換爲泛型?
- 25. 如何將會話轉換爲列表?
- 26. 如何將IplImage轉換爲Mat?
- 27. 如何將.jar 1.7轉換爲.jar 1.6
- 28. Xamarin.iOS,OxyPlot如何將UIColor轉換爲OxyColor
- 29. 如何將DependencyObject轉換爲AutomationElement?
- 30. 如何將「should」轉換爲「expect」約定?
請重寫您的問題:軟件的建議是脫離主題在這裏。 – user2284570