读书人

怎么写好日志

发布时间: 2012-12-23 11:28:15 作者: rapoo

如何写好日志

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

?

<!--@page { margin: 2cm }P { margin-bottom: 0.21cm }-->

Trace, debug , info , warn , error , fatal

?

If(Log.isDebugEnabled()){

// doyour things

}

?

if(logger.isDebugEnabled()){

logger.debug(String.format("Registeredbean definition for imported @Configuration class %s",configBeanName));

}

?

log.debug("查询搜索引擎失败,没有查询到,搜索条件为"+ sc.getSearchParamString(""));

?

log.error("查询spu或者是通过itemid获得item失败,原因是IC异常",e);

?

log.error("Tablewtm_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表中都必须配置且只须配置一条配置信息,配置信息必须包括流程名、流程编号的信息,流程编号不能和其他流程编号重复。

?

读书人网 >编程

热点推荐