Kleine Java Tips: log4j Log Level im Programm ändern

Log4j ermöglicht einem während des Programmaufrufs das Log Level zu ändern, wie das geht wird in diesem Artikel aufgezeigt.

Will man dem Kunden nicht mit Logausgaben zumüllen, sich aber die Möglichkeit offen halten, dass dieser durch setzen eines zusätzlichen Parameters die Logausgaben erweitern kann, um im Problemfall aussagekräftigere Logfiles zu generieren, muss man dies zur Programmlaufzeit ändern. Mit diesen zwei kleinen Zeilen lässt sich das Log Level vom RootLogger für Apache Log4j wärend des Programmaufrufes ändern:

Level newLevel = Level.toLevel(level, Level.DEBUG);
Logger.getRootLogger().setLevel(newLevel);

Alternativ ist natürlich eine externe Konfigurationsdatei in der der Kunde den Parameter setzen kann und diesen auch ausführlich per Kommentar erklärt bekommt nie verkehrt.

Happy Coding

Ähnliche Artikel:

mail.log – versendete Mails erfassen

Ein Mailserver bedarf eines wachsamen Auges! Um Probleme wie eine Spamschleuder zu entdecken helfen schon ein paar simple Linux Befehle zum filtern von mail.log

Bei der Kontrolle der Aktivitäten eines Mailservers bleibt einem oft nichts anderes über als sich durch die Logfiles zu wälzen. um einen Schnellen blick auf alle Email zu erhalten, die der Server zuletzt verschickt hat, kann man die mail.log Datei folgendermaßen filtern:

cat /var/log/mail.log | grep postfix | grep "to=<" | grep "status=sent"

Damit erhält Informationen zu allen versandten E-Mails: hier eine Beispielausgabe:

Mar  7 16:19:57 mailserver postfix/pipe[17596]: 753C62F9D: to=john@example.org, orig_to=<john@example.org>, relay=dovecot, delay=0.54, delays=0.01/0/0/0.53, dsn=2.0.0, status=sent (delivered via dovecot service)

Anhand der ID (In diesem Fall 753C62F9D lassen sich dann noch detailiertere Informationen zu den jeweiligen Emails auslesen, wie zB den Sender usw.

Für eine schnelle händische Kontrolle zwischendurch absolut ausreichend.

Wer schönere Ausgaben haben möchte splittet die Ausgabe noch etwas auf und lässt sich nur teile ausgeben:

cat /var/log/mail.log | grep postfix | grep "to=<" | grep "status=sent" | cut -d':' -f4-5 | cut -d',' –f1

Ergebnis:

753C62F9D: to=<john@example.org>

Bessere Logauswertungen und Zusammenfassungen bekommt man mit Tools wie zB pflogsumm, awstats oder mailgraph die in den Paket-Repositories der Distribution eurer Wahl auch vorhanden sein sollten.

Mit täglich gemailten Statistiken über pflogsumm habt ihr euren Server im Auge falls Unregelmäßigkeiten auftreten, Wochen- Monats und später mal Jahresstatistiken stellen euch die graphischen Tools awstats oder mailgraph zur Verfügung.

Bei soviel praktischer Hilfe ist das wachsame Auge über dem Mailserver ein leichtes :)

Ähnliche Artikel: