commons.logging1.1.1源代码研究(2)-- 基本使用及配置文件
来源:互联网 发布:大数据的应用和发展 编辑:程序博客网 时间:2024/06/05 02:41
一、Code Guard
为了避免运行时过多的负载,请使用log.is<Priority >()来判断当前是否这个日志级别可以记录
二、优先级层次
1.fatal 记录严重及致命的错误
2.error 运行时错误及不希望出现的条件
3.warn 警告(比如:使用了不建议的API,运行时一些不一定是错误的情况)
4.info 一般的运行时提示信息
5.debug 调试信息
6.trace 最详细的细节信息
默认的消息优先级为info
三、记录日志的建议
1.检查异常和非检查异常(外部边界)
如果是由API内部代码引起,则记录信息以debug层次;如果是由调用API的代码引起,则记录堆栈信息以info层次
2.内部边界
如果异常由内部引起,并且由内部解决;记录以info或debug层次
3.重要的内部边界(比如:跨网络)
以info层次记录日志
四、配置文件
commons-logging.properties 配置文件名称(必须放到项目根目录下)
配置:(分为系统属性和文件属性,文件属性覆盖系统属性,但有些只能通过系统属性或文件属性明确)
1.只从系统属性中读
org.apache.commons.logging.diagnostics.dest -- 指定诊断信息的输出(STDERR、STDOUT或文件名)
org.apache.commons.logging.LogFactory.HashtableImpl -- 指定<ClassLoader,LogFactory>的缓存哈希表的类名
2.只从文件属性中读
priority -- 配置文件的优先级,值越大优先级越高(数值型)
在非Webapp中无用;在Webapp中,可以通过不同的ClassLoader读入不同的commons-logging.properties文件
use_tccl -- 是否通过thread context classloader读入日志类
3.从两者(文件属性覆盖系统属性)
org.apache.commons.logging.Log -- 指定日志器实现类
org.apache.commons.logging.log --
指定日志器实现类,同旧版的logging兼容
搜索顺序:
1.查询配置文件属性org.apache.commons.logging.Log
2.如果没找到,得到系统上述属性
3.如果没找到,按照Log4J、JDK14Logger、Jdk13LumberjackLogger、SimpleLog方式产生日志器
org.apache.commons.logging.LogFactory -- 指定日志器工厂的实现类(默认为 org.apache.commons.logging.impl.LogFactoryImpl)
org.apache.commons.logging.Log.allowFlawedContext -- if tolerates bad context classloaders (true /false)
org.apache.commons.logging.Log.allowFlawedDiscovery -- if tolerates bad logging adapters(true /false)
org.apache.commons.logging.Log.allowFlawedHierarchy -- if tolerates bad Log class hierarchy(true /false)
样例配置:使用SimpleLog
样例代码:
- commons.logging1.1.1源代码研究(2)-- 基本使用及配置文件
- commons.logging1.1.1源代码研究(1)-- 组织结构
- commons.logging1.1.1源代码研究(4)-- JDK14Logger实现
- commons.logging1.1.1源代码研究(3)-- 日志器Log接口,SimpleLog实现
- apache-comnons系列之commons-logging1.2 学习笔记
- 使用commons configuration管理配置文件
- 对象池commons-pool框架的研究以及源代码分析(一)
- 对象池commons-pool框架的研究以及源代码分析(二)
- 对象池commons-pool框架的研究以及源代码分析(三)
- 对象池commons-pool框架的研究以及源代码分析(四)
- 对象池commons-pool框架的研究以及源代码分析(五)
- 对象池commons-pool框架的研究以及源代码分析(六)总结
- commons.dbutils1.2介绍及使用
- commons.dbutils1.2介绍及使用
- 使用apache commons包读取配置文件【转】
- 使用Apache commons-configuration读取配置文件
- 配置文件读取类:commons-configuration使用
- 源代码管理工具(上)-SVN基本使用
- SaaS和谷歌一样是走平台化路线
- C++中的内部链接属性。。。
- 一步一步教你写一个jQuery的插件(Plugin)
- 似乎人生
- C 语言中的指针和内存泄漏
- commons.logging1.1.1源代码研究(2)-- 基本使用及配置文件
- 歐開合唱團 2009年8、9月 於上海、北京、莆田、香港 巡迴演唱資訊
- 我的emacs配置文件
- flex的宽度属性: * width * explicitWidth * measuredWidth * percentWidth * scaleX
- Oracle常用日期型函数详解
- Subversion实现精细的目录访问权限控制
- COBOL程序之DB2数据库操作总结
- 随想
- Java数据导入Excel