ja przechodząc od log4j do logback więc trzeba konwertować mój log4j.xml do logback.xmlJak przekonwertować plik log4j.xml do pliku logback.xml?
Odpowiedz
Jeśli można przetłumaczyć go ręcznie z powrotem do formatu właściwości log4j można wykorzystać the log4j.properties to logback.xml translator na stronie projektu Logback.
Jestem tego świadomy. W każdym razie dziękuję. –
Napotkałem ten sam problem i znalazłem lepsze rozwiązanie. Przede wszystkim będziesz musiał zacząć od aktualnego log4j.xml. Moje nadal miały takie znaczniki, jak category
i priority
, które muszą być zastąpione odpowiednio przez logger
i level
w konfiguracji. Następnie usuń wszystkich konkretnych aplikacji, na przykład: RollingFileAppender
. Będziesz musiał je później przekształcić ręcznie.
Następnie wykonaj instrukcje od this blog, aby przekonwertować plik log4j.xml na plik logback.xml przy użyciu Xalan i filtru konwersji XSLT. Ponieważ treść tego bloga jest dość cenna dla mojej odpowiedzi, osobiście upewniłem się, że ten artykuł może na wszelki wypadek być found in the wayback machine. Ponadto artykuł nie podaje wersji wymaganych bibliotek. Oto jeden użyłem:
- serializer-2.7.1
- Xalan-2.7.0
- xercesImpl-2.6.2
- xml-apis-03.01.02
A oto linia poleceń, która działała dla mnie (wykonana w tym samym folderze, w którym wszystkie biblioteki i zasoby:
java -classpath xalan-2.7.0.jar org.apache.xalan.xslt.Process -IN log4j.xml -XSL log4j-to-logback.xsl -OUT logback.xml
Teraz większość prac jest już wykonana. Przede wszystkim zreorganizowałem wszystkie rejestratory tak, jakby były w oryginalnym pliku log4j.xml dla łatwiejszego dalszego porównania. Następnie ręcznie konwertowałem specjalnych aplikatorów. Jest to łatwiejsze niż się wydaje, ale jasne jest to, że jest to documentation. Oto przykład (najbardziej skomplikowane miałem do czynienia z faktycznie):
<!-- 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>
NB: Jeśli konfiguracja wymaga użycia filtrów oceniającego jak moje, trzeba będzie zadeklarować janino i fotografia kompilator (ta sama wersja jako slf4j) w bibliotekach twojego projektu
- 1. log4j.xml zewnętrznego pliku
- 2. Jak przekonwertować plik FilePath do pliku?
- 3. Jak przekonwertować plik .caf do pliku .mp3?
- 4. jak przekonwertować plik .java do pliku .class
- 5. Ten plik logback.xml loguje się do pliku, ale nie loguje się do konsoli?
- 6. Jak przekonwertować plik programu Illustrator na ścieżkę do pliku WPF
- 7. jak przekonwertować plik XML do pliku csv w javascript
- 8. Jak przekonwertować plik .Rmd do .Rnw pliku Rstudio?
- 9. Jak przekonwertować źródłowy plik kotlin do pliku źródłowego java
- 10. Jak korzystać z rozruchu Spring przy użyciu pliku konfiguracyjnego log4j.xml?
- 11. Jak przekonwertować plik vdproj do formatu WiX?
- 12. Jak przekonwertować plik: // uri do treści: // uri?
- 13. Jak ustawić filtr w log4j.xml
- 14. Jak przekonwertować .ipa do pliku .app?
- 15. Czy pojedynczy plik logback.xml dla wielu aplikacji to dobra praktyka?
- 16. Jak nadać dynamiczną nazwę pliku w aplikatorze w log4j.xml
- 17. przekonwertować plik PNG do pliku pcx za pomocą C#
- 18. Jak przekonwertować plik javax.xml.transform.Source do obiektu InputStream?
- 19. przekonwertować plik JSON do pliku CSV przy użyciu R
- 20. Jak przekonwertować tablicę bajtów do pliku ZIP
- 21. Jak przekonwertować format MetaStock do pliku CSV?
- 22. Jak przekonwertować obraz do określonego rozmiaru pliku?
- 23. Jak przekonwertować plik BibTex na plik XML Word 2010?
- 24. niezawodny sposób przekonwertować plik do byte []
- 25. Jak przekonwertować plik kształtu oceanu na topojson
- 26. Dlaczego potrzebujemy root i logger w log4j.xml
- 27. Jak ustawić plik właściwości log4j?
- 28. plików i dodawania stdout w logback.xml
- 29. Jak przekonwertować plik MultipartFile na strumień bajtowy
- 30. Jak przekonwertować plik PDF na plik tekstowy w iTextSharp
Proszę napisać ponownie swoje pytanie: zalecenia dotyczące oprogramowania nie są tutaj tematem. – user2284570