Einfach und effizient loggen in Scala

Seit fast zwei Jahren gibt es nun schon die Simple Logging Facade for Scala (SLF4S) von Heiko Seeberger bei github. Die Bibliothek legt sich als dünne Wrapper-Schicht über die bereits weit verbreitete Simple Logging Facade for Java (SLF4J) und bietet gerade in Punkte Einfachheit und Effizienz nochmal einen Mehrwert.

Die Benutzung von SLF4S könnte kaum einfacher ausfallen. Um einen voll funktionsfähigen und vorkonfigurierten Logger in einer eigenen Klasse zu bekommen, braucht man nichts weiter zu tun als das Logging Trait einzumixen. Auf dem so konfigurierten logger kann man dann die bekannten Methoden info(), warning(), error() etc. aufrufen.

class MyClazz with Logging {
logger.info(“Construction of MyClazz”)
}

Erfreulich dabei ist, dass die übergebenen Parameter erst dann ausgewertet werden, wenn tatsächlich geloggt werden soll. Im nachfolgenden Beispiel werden die teuren Methode someExpensiveMethod(42) und someHugheobject.toString nur ausgeführt, wenn der debug level auf dem logger eingeschaltet ist.

logger.debug("My values = " someExpensiveMethod(42) + " / " + someHugeObject.toString)

Zusammenfassend kann man sagen, das mit SLF4S eine sehr elegante und leicht zu bedienende Lösung für Logging in Scala existiert.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s