总结:建立数据字典,标准化日志格式
<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->
Trace , debug , info , warn , error , fatal
If(Log.isDebugEnabled()){
// do your things
}
if (logger.isDebugEnabled()) {
logger.debug(String.format("Registered bean definition for imported @Configuration class %s", configBeanName));
}
log.debug("查询搜索引擎失败,没有查询到,搜索条件为" + sc.getSearchParamString(""));
log.error("查询spu或者是通过item id获得item失败,原因是IC异常", e);
log.error("Table wtm_charge_last 'select' operation Error! userId="
+ userId + ",type=" + type, e);
2.1.2日志信息构成
通过配置,日志信息包括两部分,一部分是由日志引擎通过配置生成的信息,如信息来源的包、类、对应源码的行数,日志级别等信息,而另一部分是用户通过接口入参手工设置的对象信息,在写日志前,将调用对象的toString()将其转换成字符串。对于 error和fatal级别的日志,我们约定必须为每个日志指定错误日志的类型,错误的日志的类型和日志信息一起作为入参传入写日志引擎,错误类型用[]括起来。如:
logger.error(“[DB001]关闭数据连接时出错。”) logger.fatal(“[HIB001]关闭Hibernate会话时发生异常。”); logger.error(“[CFG001]审批流程配置信息不正确。”); |
此外必须为每条日志类型构造说明字典:
错误编号 |
说明 |
产生原因 |
解决方法 |
DB001 |
关闭数据连接失败 |
数据连接打开的光标太多,会话因网络终止 |
仔细检查程序,查看该连接创建的Statement或PrepareStatemetn在用完后没有及时关闭。检查数据库的配置,或网络连接方面的硬件问题 |
HIB001 |
关闭Hibernate会话失败 |
会话对应的数据连接打开的光标太多,会话因网络终止 |
仔细检查程序,查看该会话对应的数据连接创建的Statement或PrepareStatemetn在用完后没有及时关闭。检查数据库的配置,或网络连接方面的硬件问题 |
CFG001 |
审批流程配置信息不正确 |
没有正确配置T_FLOW表的信息 |
每个流程在T_Flow表中都必须配置且只须配置一条配置信息,配置信息必须包括流程名、流程编号的信息,流程编号不能和其他流程编号重复。 |
… |
… |
… |
… |