[英]Substituting parameters in log message and add a Throwable in Log4j 2
[英]Log4j - Force log message parameters
我试图强制 log4j 消息中的细节,而不仅仅是一个字符串。 最终我想有类似的东西:
logger.info("组件", "错误代码", "错误信息");
我什至可以为组件使用枚举。
然后我希望消息在日志中显示为“时间 - 组件 - 代码 - 消息”
有任何想法吗?
一个非常简单的解决方案(对于这种特殊情况):
logger.info(
String.format("%s - %s - %s", "component", "error code", "error message"));
或改进版本:
logger.info(createMessage("component", "error code", "error message"));
和
public static String createMessage(
String component, String errorCode, String errorMessage) {
return String.format("%s - %s - %s",
"component", "error code", "error message");
}
对于更通用的解决方案,考虑将原始记录器 class 包装到自定义记录器 class 并实现一个info
方法,该方法采用三个 arguments 并将新消息委托给internalLogger.info(String message)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.