log4j - eigene Info-Ausgaben

Von: , Frage gestellt am Mi, 1. Nov 2006

Hallo,

mal seh’n, ob ich meine Frage in einigermaßen verständliche Worte gefasst bekomme.

Ich arbeite an einem Programm das die log4j-api nutzt. Ich habe bisher noch nicht damit Bekanntschaft gemacht, mir jedoch schon mal einen groben Überblick verschafft, worum es so geht. Nun dachte ich mir, ich kann das Logging auch für einfache Ausgaben nutzten, quasi zum Debuggen u.ä.

Der Programmierer vor mir, gibt durch wie folgt aufgebaute Anweisungen Fehlermeldungen aus:
log.fatal(this.getClass().getName()+".hierStehtDerAktuelleMethodenName() ", exceptionObjekt);

Nun habe ich für Info-Meldungen über die Konfigurationsdatei einen Pfad bzw. eine Datei angelegt, in die bei log.info(...) geschrieben werden soll. Diese existiert auch und wird z.B. bei...

Exception eineEx = new Exception();
StackTraceElement[] stacktraceelem = new StackTraceElement[1];
eineEx.setStackTrace(stacktraceelem);
log.info(this.getClass().getName()+".service()", eineEx);

... auch beschrieben.

Es steht dann als erster im Eintrag so was:

01.01.2005 12:33:35 -- FATAL - [localhost] - [ES] - de.package1.package2.servlets.ControllerServlet.service()
appender. So we set the additivity to false.java.lang.NullPointerException
at java.lang.Throwable.<init>(Throwable.java:59)
at java.lang.Throwable.setStackTrace(Throwable.java:188)
at de.package1.package2.servlets.ControllerServlet.service(ControllerServlet.java:181)
...

Meine bescheidene Frage ist: wie bekomme ich selbst geschriebenen einfachen Text – und sei es nur ein „Hello World“ – in meine Fehlerausgaben? Ich möchte da also Strings ausgeben können.

Vielen, vielen Dank für sachdienliche Hinweise,

Lars

3 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde 0 hilfreich
    Re: log4j - eigene Info-Ausgaben

    Hallo Lars. Ich arbeite an einem Programm das die log4j-api nutzt.
    Nun habe ich für Info-Meldungen über die Konfigurationsdatei
    einen Pfad bzw. eine Datei angelegt, in die bei log.info(...)
    geschrieben werden soll.
    wie bekomme ich selbst
    geschriebenen einfachen Text in meine Fehlerausgaben?
    Ein Blick in die Dokumentation zur Logger-Klasse von logj
    sollte helfen:
    http://logging.apache.org/log4j/docs/api/org/apache/...

    public void info(Object message)
    Log a message object with the INFO Level.
    

    Ein String ist ein Object, also kannst Du z.B. einfach schreiben:
    log.info("Mein Text");
    

    Gruß,
    -Andreas.

    • Antwort von nach 5 Stunden 0 hilfreich
      Re^2: log4j - eigene Info-Ausgaben

      Hallo Andreas,

      ich weiss, eigentlich sollte das funktionieren. Tut's bei mir aber nicht. D.h., es wird die Message nicht in der Log-Datei ausgegeben.

      Gruss, Lars

      • Antwort von nach 5 Stunden 0 hilfreich
        Re^3: log4j - eigene Info-Ausgaben

        Hallo Lars. ich weiss, eigentlich sollte das funktionieren. Tut's bei mir
        aber nicht. D.h., es wird die Message nicht in der Log-Datei
        ausgegeben.
        Na, wenn fatal-Meldungen in die Logdatei geschrieben werden,
        Deine info-Meldungen aber nicht, ist Dein Logger wohl so
        konfiguriert, dass er die info-Meldungen unterdrückt. Das
        musst Du ihm folglich abgewöhnen.

        Aus http://logging.apache.org/log4j/docs/manual.html:

        Logger  logger = Logger.getLogger("com.foo");
        // Now set its level. Normally you do not need to set the
        // level of a logger programmatically. This is usually done
        // in configuration files.
        logger.setLevel(Level.INFO);
        

        Gruß,
        -Andreas.

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!