fun main()

in log4j-api-kotlin-sample/src/main/kotlin/org/apache/logging/log4j/kotlin/sample/LoggingApp.kt [28:59]


  fun main(args: Array<String>) {
    val s1 = "foo"
    val s2 = "bar"

    log.info { "Hello, world: $s1 $s2" }

    log.trace("Regular trace")

    log.runInTrace {
      log.info("Inside trace extension!")
    }

    log.runInTrace(log.traceEntry({ "param1" }, { "param2" })) {
      log.info("Inside trace extension with params suppliers!")
    }

    fun getKey(): Int = log.runInTrace {
      Random().nextInt(10)
    }

    @SuppressFBWarnings("NP_ALWAYS_NULL")
    fun getKeyError(): Int = log.runInTrace {
      throw Exception("Oops!")
    }

    log.info { "Key was ${getKey()}" }
    try {
      log.info { "Key was ${getKeyError()}" }
    } catch(e: Exception) {
      log.info { "Key threw ${e.message}" }
    }
  }