log,exception最佳实践

项目组对log和exception的讨论结果。希望更多的人参与讨论。
1
log

1.1 log.error表示系统级错误

1.2 log.warn表示应用级错误

1.3 服务初始化或结束用log.info

1.4 log.debug替代outdebug要判断isDebugEnable

1.5 log.warn("",e)替代e.printstack

1.6 log4e生成log相关代码

1.7 Log信息要保证可读性,需记录现场信息,如当前处理id

2 exception

2.1 try catch内的代码不要太长

2.2 因为性能原因,try catch少放循环内

2.3 尽量避免catch(Exception)这样的写法

2.4 不同模块定义不同的exception

2.5 建议创建应用的基类exception,特别是有定义error code需要的应用

2.6 只要catch就要log error message

2.7 catch并封装成另一种exception,如果不nest原来的exception就要log stackTrace

2.8 持久层throw dataAccessException,业务层throw checked exception,展现层只显示exception信息

2.9 规范的exception流程定义如下:

业务层不需处理的runtime exception,由展现层定义的exception controller捕获,交给相应的error页面显示并记录stack信息。业务层捕获下层的exception,并封装成业务层的checked exception,如果nest所捕获的exception,则仅log error message,如果不nest就需要用log.warn(“”,e)记录stack信息。展现层捕获业务层的exception,应由处理业务层exceptionerror页面来处理。

posted on 2006-01-18 15:39 pesome 阅读(3621) 评论(10)  编辑  收藏 所属分类: 系统架构

评论

# re: log,exception最佳实践 2006-01-18 16:54 adjyoucmp

好  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 16:56 江南白衣

"debug要判断isDebugEnable"

会搞得代码很冗长.  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 17:03 steady

只要catch就要log error message

这个需要看情况了,并不一定是必须的

"debug要判断isDebugEnable"

这个同意,最终应用的效率会有不小的提高  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 17:17 pesome

isDebugEnable效率提高在里面的拼string。可以用log4e生成这个代码的。  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 18:04 江南白衣

我宁愿在IDEA里跑Debug,要看什么自己查看变量,都不愿意搞一堆
if(logger.isDebugEnable()){
logger.debug()
}
把代码弄得脏西西的.  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 18:54 Joshua bloch

确实不错!  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 19:18 pesome

log.debug不光是给开发时调试用,更多的是生产出错诊断时用。这也是记录尽可能多现场信息的原因。  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 23:09 江南白衣

如果有这个需要时的确有用.  回复  更多评论   

# re: log,exception最佳实践 2006-01-18 23:36 benbenming

log4j的配置文件放的位置有要求觉得不爽,所以自己写log;exception说的不错,一般catch中封装自己写的BaseException,感觉不错!  回复  更多评论   

# re: log,exception最佳实践 2006-01-20 17:28 兼听则明

使用 log4E 还是不错滴......  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2006年1月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

公告

主要记录作者在学习java中的每一步足迹。除非特别说明,所有文章均为本blog作者原创,如需转载请注明出处和原作者,如用于商业目的,需跟作者本人联系。
欢迎大家访问:

常用链接

留言簿(16)

随笔分类

随笔档案

文章分类

文章档案

相册

收藏夹

java技术

人间百态

朋友们的blog

搜索

最新评论

阅读排行榜

评论排行榜