日志规范(使用slf4j日志框架)
1.什么时候应该打印日志
a.需要定位问题,使用日志替代debug
b.遇到if else或者switch分支,首行打印,确定进入哪个分支
c.核心功能,需要通过日志看到整个流程
2.基本格式,参数化信息的方式
logger.debug("Processing trade with id:[{}] and symbol : [{}] ", id, symbol);
3.如需打印debug日志,需要判断日志级别
if (logger.isDebugEnabled()) {
logger.debug("Processing trade with id: " +id + " symbol: " + symbol);
}
4.各种日志级别的使用
ERROR:影响到程序正常运行,当前程序正常运行的异常情况
a. 打开配置文件失败
b. 所有第三方对接的异常(包括第三方返回错误码)
c. 所有影响功能使用的异常,包o括:SQLException和除了业务异常之外的所有异常
WARN:不应该出现但是不影响程序、当前请求正常运行的异常情况
a. 有容错机制的时候出现的错误情况
b. 找不到配置文件,但是系统能自动创建配置文件
INFO:系统运行信息
a. Service方法中对于系统/业务状态的变更
b. 主要逻辑中的分步骤
外部接口部分
a. 客户端请求参数(REST/WS)
b. 调用第三方时的调用参数和调用结果<