记录异常和结构化参数

Logging exceptions together with structured arguments

有谁知道记录异常和结构化参数的最佳做法是什么?查看 https://github.com/logstash/logstash-logback-encoder#customizing-stack-traces,建议不要使用它们,但没有提供替代方法。

只需像 normally log exceptions with slf4j/logback 一样记录异常。具体来说,提供异常作为日志语句的最后一个参数。

例子

// With no other arguments
logger.warn("Something bad happened", exception);

// With a regular (non-structured) argument
logger.warn("Something bad happened with {}", "foo", exception);

// With a structured argument
logger.warn("Something bad happened with {}", kv("foo", "bar"), exception);