log4j - eigene Info-Ausgaben

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.(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

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.

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

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.