对于这个问题我们一般想到的解决办法是:
log.info("param = {}", JSON.toJSONString(param));
但是这种办法比较繁琐并且容易忘记。
这里提供如下解决办法:
logback
public class ArgumentJsonFormatLayout extends MessageConverter {
@Override
public String convert(ILoggingEvent event) {
try {
return MessageFormatter.arrayFormat(event.getMessage(), Stream.of(event.getArgumentArray())
.map(JSON::toJSONString).toArray()).getMessage();
} catch (Exception e) {
return event.getMessage();
}
}
}
在日志文件中加入:<conversionRule conversionWord="m" converterClass="com.example.common.log.ArgumentJsonFormatLayout"/>
注意这里的m不能修改。
抽空找一下log4j的办法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。