gpt4 book ai didi

java - 配置 SLF4J 在打印异常堆栈跟踪时记录自定义字段?

转载 作者:行者123 更新时间:2023-12-01 18:35:15 28 4
gpt4 key购买 nike

class MyException extends RuntimeException {

private final String myCustomField;

public MyException(myCustomFIeld) { this.myCustomField = myCustomField; }

public String getMyCustomField() { return myCustomField; }

@Override
public String getMessage() { return null; }
}

public class MainClass {

private static final Logger log = org.slf4j.LoggerFactory.getLogger(MainClass.class);

public static void main(String[] args) {
try {
if (true) { throw new MyException("myCustomField"); }
} catch (Exception ex) {
log.error("Exception: ", ex)
}
}
}

这会打印带有给定消息的堆栈跟踪。

是否可以全局配置记录器以打印抛出的异常的自定义字段(如果exMyException的实例) )?

最佳答案

您可以使用 instanceof 检查异常是否是自定义异常的实例喜欢

if(ex instanceof MyException){
log.error("Exception: {}, myCustomField :: {} ", new Object[]{ex.getMessage(), ex.getMyCustomField() });
}

关于java - 配置 SLF4J 在打印异常堆栈跟踪时记录自定义字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60073793/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com