kadai.log.json

JsonLogging

trait JsonLogging extends Logging

Mixin if you want your class to be able to log structured objects in JSON format. You will need an argonaut.EncodeJson instance in implicit scope for the object you try and log.

To get the instances, you need to also "import JsonLogging._"

Note that you normally only need an implicit EncodeJson[A] for any type you want to log in order to encode the JSON representation that is logged. If you do not have an EncodeJson for the message object, then it will fall back to a String representation given by the Show[Foo] instance in scope.

If you want fine-grained control of the output, and in particular want to control the top level names that are produced, please create a custom implicit JsonMessgae.Qualified[Foo] that turns your Foo into a List[JsonAssoc]. Care is needed though about the names as any clashes can lead to bugs in some log processing systems, such as https://github.com/elastic/elasticsearch/issues/12366

See JsonLayout for details on how to configure log4j2 to support JSON output

Linear Supertypes
Logging, Logger, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. JsonLogging
  2. Logging
  3. Logger
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def debug[A](msg: ⇒ A)(implicit arg0: LogWriter[A]): Unit

    Attributes
    protected
    Definition Classes
    Logging → Logger
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def error[A](msg: ⇒ A)(implicit arg0: LogWriter[A]): Unit

    Attributes
    protected
    Definition Classes
    Logging → Logger
  12. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  15. def info[A](msg: ⇒ A)(implicit arg0: LogWriter[A]): Unit

    Attributes
    protected
    Definition Classes
    Logging → Logger
  16. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  17. val log: org.apache.logging.log4j.Logger

    Attributes
    protected
    Definition Classes
    Logging
  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  22. def toString(): String

    Definition Classes
    AnyRef → Any
  23. def trace[A](msg: ⇒ A)(implicit arg0: LogWriter[A]): Unit

    Attributes
    protected
    Definition Classes
    Logging → Logger
  24. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. def warn[A](msg: ⇒ A)(implicit arg0: LogWriter[A]): Unit

    Attributes
    protected
    Definition Classes
    Logging → Logger
  28. def withContext[A, B](a: A)(f: ⇒ B)(implicit arg0: LogWriter[A]): B

    Definition Classes
    Logging
  29. def withDebug[A, B](msg: ⇒ A)(f: ⇒ B)(implicit arg0: LogWriter[A]): B

    Attributes
    protected
    Definition Classes
    Logging → Logger
  30. def withInfo[A, B](msg: ⇒ A)(f: ⇒ B)(implicit arg0: LogWriter[A]): B

    Attributes
    protected
    Definition Classes
    Logging → Logger
  31. def withTrace[A, B](msg: ⇒ A)(f: ⇒ B)(implicit arg0: LogWriter[A]): B

    Attributes
    protected
    Definition Classes
    Logging → Logger

Deprecated Value Members

  1. def withLog[A](s: String)(f: ⇒ A): A

    Attributes
    protected
    Definition Classes
    Logging
    Annotations
    @deprecated
    Deprecated

    (Since version 1.6) use withInfo instead

  2. def withLogContext[A](s: String)(f: ⇒ A): A

    Definition Classes
    Logging
    Annotations
    @deprecated
    Deprecated

    (Since version 1.6) use withContext instead

Inherited from Logging

Inherited from Logger

Inherited from AnyRef

Inherited from Any

Ungrouped