Przydatne byłoby automatyczne dołączanie plików dziennika do obsługi wiadomości e-mail. Mogę ustawić ścieżkę programowo (jak w Setting Logback Appender path programmatically), ale wolę pozwolić użytkownikom skonfigurować logowanie w znany sposób przez logback.xml
. Czy mogę znaleźć pliki do wykorzystania logback do logowania?Czy można znaleźć program logback logback?
Odpowiedz
Możesz otrzymać listę wszystkich elementów dodających w określonym kontekście. Aby to zrobić:
LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
for (Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext();) {
Appender<ILoggingEvent> appender = index.next();
}
}
Powtarza to listę wszystkich elementów wprowadzających we wszystkich rejestratorach dla bieżącego kontekstu.
Metoda iteratorForAppenders już nie istnieje w programie rejestrującym (http://www.slf4j.org/apidocs/org/slf4j/Logger.html). Masz pomysł, jak to działa? – user3885927
@ user3885927 upewnij się, że importujesz plik ch.qos.logback.classic.Logger, a nie org.slf4j.Logger! – Catchwa
Odpowiedź podana przez @ tafoo85 jest poprawna, ale da Ci tylko aplikantów.
Aby dokładniej uzyskać plik używany przez Logback Logger, mam nadzieję, że poniższy kod pomoże mu.
File clientLogFile;
FileAppender<?> fileAppender = null;
LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
for (Logger logger : context.getLoggerList())
{
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders();
index.hasNext();)
{
Object enumElement = index.next();
if (enumElement instanceof FileAppender) {
fileAppender=(FileAppender<?>)enumElement;
}
}
}
if (fileAppender != null) {
clientLogFile=new File(fileAppender.getFile());
}
else {
clientLogFile = null;
}
Log.d("logfile path", clientLogFile.getAbsolutePath());
Było dokładnie to, czego potrzebowałem, chociaż zmieniłem wiersz 'Object enumElement = index.next();' na 'Appender
@danial, który będzie bardziej szczegółowy. ale jeśli chcesz mieć 2-3 plik rejestratora (debugowanie i śledzenie), ten kod będzie działał idealnie. – androidnoobdev
- 1. Czy logback ma NullAppender?
- 2. Czy logback obsługuje log4j appenders?
- 3. Logback: "Nie można znaleźć biblioteki Janino na ścieżce klasy"
- 4. Skanowanie logback nie działa
- 5. Powolne czasy rozruchu logback
- 6. Logback log.debug nie działa
- 7. Hasła maski z logback?
- 8. Konfigurowanie logback w Eclipse
- 9. sl4j/logback pod weblogic
- 10. logback z ramą odtwarzania
- 11. slf4j logback substituteLogger
- 12. Logback: modyfikować wiadomość przez filtr?
- 13. Logback - niestandardowe wyjście dla wyjątków
- 14. Właściwości dostępu zdefiniowane programowo logback
- 15. grać 2.3.8 sbt bez logback
- 16. Spring Boot ignorowanie logback-spring.xml
- 17. Logback SyslogAppender rejestracja zapisów stacktrace
- 18. logback: kontrolowanie formatowania wyjątków stacktraces
- 19. Tworzenie niestandardowy układ w Logback
- 20. przekierowanie filtr rejestrowanie Jersey logback
- 21. FileNamePattern w RollingFileAppender - konfiguracja logback
- 22. Konfiguracja logback stosując kilka profili
- 23. zagraj w układ logback układu niestandardowego
- 24. Gdzie jest logback koder dokumentacja wzór
- 25. Akka SLF4J i logback w Scala
- 26. Logger slf4j nie używa logback skonfigurowanego poziomu
- 27. SpringJUnit4ClassRunner do przechwytywania określonej konfiguracji logback
- 28. Jak rejestrować tekst wielowierszowy w Logback/SLF4J?
- 29. logback pokaż logi z numerem linii
- 30. Zrób rejestrator pominąć buławy w logback
Przepraszam, ale nie rozumiem pytania. Czy mógłbyś nieco rozwinąć? – Ceki
@Ceki: bardziej ogólnie, czy mogę uzyskać listę wszystkich aplikantów używanych przez Logback? –