51CTO博客开发
快门英文名称为Shutter,快门是相机上控制感光片有效曝光时间的一种装置。目前的数码相机快门包括了电子快门、机械快门和B门 首先说说电子快门和机械快门的区别。两者不同之处在于它们控制快门的原理不同,如电子快门,是用电路控制快门线圈磁铁的原理来控制快门时间的,齿轮与连动零件大多为塑料材质;机械快门控制快门的原理是,齿轮带
log4j.properties log4j.rootLogger=DEBUG, CONSOLE #DEBUG, CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE log4j.logger.org.apache=INFO, FILE log4j.additivity.org.apache=false ###################
1.1 背景 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。 最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系
在代码中插入日志语句是调试代码的低端做法,但是它也可能是唯一的做法,因为调试器并不总是可用或者适用,尤其对于分布式应用。 另一方面,有人争论说日志语句污染了源代码并且降低了源代码的清晰度。在Java这样的不具备预处理器的语言中,日志语句的存在增加了代码文件的大小并且降低了代码运行的速度,即便是在日志被关闭的情况下。鉴于一个正常大小的应用程序可能包含几千条日志语句,其执行速度就显得非常重要。 &
Version Date Description 1.2.16 2010-04-06 Maintenance release
Apache Logging Services项目旨在创建和维护记录应用程序行为的日志系统,并免费地向公众发布其日志产品。 Apache Logging Services项目包含的产品有: Apache log4j™ for Java Apache log4cxx™ for C++ Apache log4net&tra
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 &nbs
最佳实践(Best Practices) 代码保护 代码保护通常用来保护日志语句,因为在日志级别被屏蔽的情况下,日志语句可能会引入不必要的运行开销。比如日志方法的参数解析(如,字符串拼接)。可以使用log.is<Priority>()方法来判断对应的日志方法是否需要被执行,从而避免对应日志方法的多余开销。当然,对应的日志方法内部仍然会执行相同的检查,但是那是在解析了
标准发行包中包含的Jar文件 commons-logging.jar commons-logging.jar文件包含了JCL API,默认的LogFactory实现和Log4J、Avalon LogKit、JDK 1.4以及JSR-47(适用于JDK1.4之前的系统)的瘦包装Log实现。在大多数情况下,要使用JCL,只需要将commons-logging.jar和你想使用的底层
获取Log对象 要使用JCL SPI,包含下面的导入语句: import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 在类定义中,如下声明并初始化一个log 属性: &
配置底层的(underlying)日志系统 JCL可以通过配置使用不同的具体日志系统,可以参见快速入门二。JCL仅仅提供了一个编写日志语句的桥梁,它现在不会(以后也不会)提供任何有关底层日志系统的配置API。JCL的行为最终仍然是由底层所使用的日志系统所决定的,具体的配置需要参考相应的日志系统文档。 JCL不负责初始化、配置或者关闭底层的日志库。许多日志库会在第一次被使用时自动完成初始化和配置
配置(Configuration) JCL中有两个基础接口/类:Log(基础日志器)和LogFactory (知道如何创建Log实例)。指定一个特定的Log实现是非常好的实践(无论这个实现是commons-logging提供的还是用户自定义的),而指定默认LogFactory实现之外的实现是为高级用户准备的,在这里不会谈到。默认的LogFactory实现会使用下面的探测步骤来决定最终使用的Log
设计理念 JCL(Commons Logging)的设计理念是尽可能地变得“不起眼(unobtrusive)”。在大多数情况下,只要将commons-logging.jar包含在类路径中,JCL就会以合适的方式进行自我配置。JCL很可能能够猜出(探测)你想要使用的日志系统,而你并不用做任何的配置。但是,如果你对具体的日志系统实现有特定的需求,使用commons-loggi
什么是Commons Logging(JCL)? Commons Logging是Apache软件基金会下的Commons开源项目的子项目之一。Commons Logging (JCL)提供的是一个Java的日志接口,兼顾轻量级和不依赖于具体的日志实现。 它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号