ApacheCommonLog练习
1、common-log是对java中各种日志系统的封装,可以实现更换日志实现而不用重写代码,我的理解类似于jdbc
2、从官网中得知,最新版本为1.2,最近更新日期为2014年
3、记录日志的代码
public class Main { private static Log logger = LogFactory.getLog(Main.class); public static void main(String[] args) { //Logger logger = LogManager.getLogger(Main.class); logger.trace("trace level"); logger.debug("debug level"); logger.info("info level"); logger.warn("warn level"); logger.error("error level"); logger.fatal("fatal level"); } }
4、使用哪个具体的日志实现方式,按以下顺序决定,如果找到某个配置就使用这个配置,不再继续匹配
4.1 commons-logging.properties配置文件中寻找
org.apache.commons.logging.Log=具体日志实现例如(org.apache.commons.logging.impl.Log4JLogger是log4j的值
4.2 如果在classpath中发现log4j的jar包,就用log4j的实现方式
PS:一定要是log4j,不能是log4j2
5、log4j的配置文件log4j.properties
### set log levels ### log4j.rootLogger = debug ,stdout #log4j.rootLogger=error,E ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out ## 输出INFO级别以上的日志 log4j.appender.stdout.Threshold = INFO log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n ### 输出到日志文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = log/debug.log log4j.appender.D.Append = true ## 输出DEBUG级别以上的日志 log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 保存异常信息到单独文件 ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender ## 异常日志文件名 log4j.appender.E.File = log/error.log log4j.appender.E.Append = true ## 只输出ERROR级别以上的日志!!! log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n