Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 替换日志消息中的参数,并在Log4j 2中添加一个可丢弃项_Java_Exception_Logging_Log4j - Fatal编程技术网

Java 替换日志消息中的参数,并在Log4j 2中添加一个可丢弃项

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—替换的参数 可丢弃的,可丢弃

我试图记录一个异常,并希望在日志消息中包含另一个变量的值。是否有一个日志API可以做到这一点

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)