Skip to content

Static Wrapper of SLF4J easing you from the necessity to create static LOGGER instances in each Java class

License

Notifications You must be signed in to change notification settings

jcabi/jcabi-log

Repository files navigation

logo

EO principles respected here DevOps By Rultor.com We recommend IntelliJ IDEA

mvn PDD status codecov Maven Central Javadoc Hits-of-Code

More details are here: log.jcabi.com

Read this blog post: Get Rid of Java Static Loggers

Logger is a convenient static wrapper of slf4j (don't forget to include one of SLF4J Bindings into the project):

import com.jcabi.log.Logger;
class Foo {
  void bar(int value) {
    Logger.debug(this, "method #bar(%d) was called", value);
  }
}

Besides standard %s placeholders inside the format string, you can use other custom ones, which help formatting common values faster:

  • %[file]s --- absolute file name ➜ file name relative to current directory
  • %[text]s --- any string ➜ pretty looking text, short enough, and escaped
  • %[exception]s --- Exception ➜ stacktrace
  • %[list]s --- Iterable ➜ pretty formatted list, in one line
  • %[size]s --- size in bytes ➜ Kb, Mb, Gb, Tb, and so on
  • %[ms]s --- milliseconds ➜ ms, sec, min, hours, etc.
  • %[nano]s --- nanoseconds ➜ µs, ms, sec, min, hours, etc.
  • %[type]s --- Class<?> ➜ name of it
  • %[secret]s --- any string ➜ stars
  • %[dom]s --- org.w3c.domDocument ➜ pretty printed/formatted XML

You are welcome to suggest your own "decors".

How to contribute?

Fork the repository, make changes, submit a pull request. We promise to review your changes same day and apply to the master branch, if they look correct.

Please run Maven build before submitting a pull request:

mvn clean install -Pqulice