Przechwytywanie komunikatów obiektu przez Loggera

0

Mam pewien obiekt z którego mogę jedynie wywoływać metody. Obiekt domyślnie wyrzuca szereg komunikatów na konsole. Czy jest jakaś możliwość, aby Logger przechwytywał te komunikaty, tak aby jedynie szły do pliku?

0

Możesz przekierować wyjścia do pliku. System.setOut(...), lub system.setErr(...). Nie wiesz zapewne czy komunikaty są wypisywane przez System.out.println(), czy System.err.println().

0

Dzięki za odpowiedź, ale to są tego typu komunikaty.

2011-02-18 1318.336 DEBUG u - Setting curves server parameters to transport client, login [DEMO2bjKfc]

0

Jakie znaczenie ma treść komunikatów?

try
{
    System.setOut(new PrintStream(new File("log.txt")));
}
catch(Exception e)
{
    System.out.println(e);
}

i to się pojawiało na konsoli (wypisywane poleceniem System.out.println() lub System.out.print()) zostanie zapisane do pliku.

0

Pierwsze pytanie - czy jest to aplikacja webowa, czy też standalone?
Jeżeli webowa, to zmiana zależy od serwera aplikacji - np. JBoss ma w katalogu z konfiguracją plik z ustawieniami logowania.
Jeżeli standalone, to zakładam, że ta obca klasa jest w osobnym pliku .jar.
Sprawdź, czy w tym jarze jest plik "log4j.properties".
Jeżeli tak, to najprawdopodobniej wystarczy zmienić ustawienie log4j.
Możesz zrobić jedną z dwóch rzeczy:

  1. Zmienić log4j.properties w tym pliku .jar, aby logował od poziomu INFO (przynajmniej dla tej klasy)
  2. Dodać w swoim jarze log4j.properties (z logowaniem na poziomie INFO) i umieścić swój jar w classpath przed tym obcym jarem

1 użytkowników online, w tym zalogowanych: 0, gości: 1