logging-log4j-kotlin icon indicating copy to clipboard operation
logging-log4j-kotlin copied to clipboard

Support LogBuilder API in a kotlin-y way

Open rocketraman opened this issue 2 years ago • 0 comments

The Kotlin API does not have an equivalent to the https://logging.apache.org/log4j/2.x/manual/logbuilder.html.

A Kotlin-y approach may use a DSL rather than a builder. For example, a LoggingScope passed as a lambda receiver could result in an API that could look something like:

logger.atError {
  // `this` here is an instance of `LoggingScope`
  // everything optional except log
  throwable = ...
  marker = ...
  location = ...
  log = ...
}

The standard builder API could also be supported as an alternative for users who prefer it.

See also relevant background discussion about designing a fluent logging API from https://github.com/google/flogger and https://google.github.io/flogger/benefits.

rocketraman avatar Sep 09 '23 04:09 rocketraman