如何写好日志

总结:建立数据字典,标准化日志格式

 

<!-- @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()将其转换成字符串。对于 errorfatal级别的日志,我们约定必须为每个日志指定错误日志的类型,错误的日志的类型和日志信息一起作为入参传入写日志引擎,错误类型用[]括起来。如:

logger.error(“[DB001]关闭数据连接时出错。”)

logger.fatal(“[HIB001]关闭Hibernate会话时发生异常。”);

logger.error(“[CFG001]审批流程配置信息不正确。”);

 

此外必须为每条日志类型构造说明字典:

错误编号

说明

产生原因

解决方法

DB001

关闭数据连接失败

数据连接打开的光标太多,会话因网络终止

仔细检查程序,查看该连接创建的StatementPrepareStatemetn在用完后没有及时关闭。检查数据库的配置,或网络连接方面的硬件问题

HIB001

关闭Hibernate会话失败

会话对应的数据连接打开的光标太多,会话因网络终止

仔细检查程序,查看该会话对应的数据连接创建的StatementPrepareStatemetn在用完后没有及时关闭。检查数据库的配置,或网络连接方面的硬件问题

CFG001

审批流程配置信息不正确

没有正确配置T_FLOW表的信息

每个流程在T_Flow表中都必须配置且只须配置一条配置信息,配置信息必须包括流程名、流程编号的信息,流程编号不能和其他流程编号重复。

 

你可能感兴趣的:(Hibernate,bean,搜索引擎)