Java 替换日志消息中的参数,并在Log4j 2中添加一个可丢弃项
我试图记录一个异常,并希望在日志消息中包含另一个变量的值。是否有一个日志API可以做到这一点Java 替换日志消息中的参数,并在Log4j 2中添加一个可丢弃项,java,exception,logging,log4j,Java,Exception,Logging,Log4j,我试图记录一个异常,并希望在日志消息中包含另一个变量的值。是否有一个日志API可以做到这一点 logger.error("Logging in user {} with birthday {}", user.getName(), user.getBirthdayCalendar(), exception); 你试过看吗 从文件中 参数: messagePattern—消息“格式”字符串。这将是 包含“{}”占位符的字符串,其中应包含参数 替换 objectArgs—替换的参数 可丢弃的,可丢弃
logger.error("Logging in user {} with birthday {}", user.getName(), user.getBirthdayCalendar(), exception);
你试过看吗
从文件中
参数:
messagePattern—消息“格式”字符串。这将是
包含“{}”占位符的字符串,其中应包含参数
替换
objectArgs—替换的参数
可丢弃的,可丢弃的
Log4j 2(和)中有一个未记录的特性。 可以将
Throwable
作为最后一个参数传递。然后它会得到特殊的治疗。
见和
无需费心处理参数化消息
。问题中的代码将按预期工作:
logger.error(“使用生日{}登录用户{}”,user.getName(),user.getBirthdayCalendar(),异常);
如果有人想知道,上述内容将表示为:logger.error(新的参数化消息(“使用生日{}登录用户{}”,user.getName(),user.getBirthdayCalendar()),exception)代码>