什么是log4j框架呢?
log4j是一个日志输出框架,用于输出日志的。比如MyBatis的日志就是通过log4j输出的,主流框架都是log4j输出的,Spring框架
也可以通过log4j输出日志!!
log4j的功能类似于System.out.println(),那为什么要用log4j呢?
因为它提供了强大的日志输出的自定义功能。
1.通过及级别输出日志(调试DEBUG、信息INFO、警告WRAN、错误ERROR、致命错误FATAL)
2.可以指定输入到控制台,输入到文件。
3.可以设置输出的日志格式
log4j框架的配置及测试代码
1.导入log4j的jar包
2.在src下创建一个log4j.propertis文件
注意:文件名必须为log4j.propertis
#log4j的声明,格式为:log4j.rootLogger=输出等级,输出策略名1,输出策略名2,输出策略名3.... ##输出日志等级选项 ##DEBUG 调试输出日志 ##INFO 信息输出日志 ##WARN 警告输出日志 ##ERROR 错误输出日志 ##FATAL 致命错误输出日志 log4j.rootLogger=DEBUG,A1,A2,A3 #A1策略的声明 ##指定输出的类型(类全限制名),ConsoleAppender表示控制台输出 ##ConsoleAppender 控制台输出 ##FileAppender 通过文件输出 ##DailyRollingFileAppender 以文件输出,每天产生一个日志文件 ##RollingFileAppender 以指定的大小来产生一个日志文件 ##WriterAppender 以流的方式输出文件到指定的设备 log4j.appender.A1=org.apache.log4j.ConsoleAppender ##指定该类型的一些属性,layout,值的是使用声明格式输出 ##PatternLayout,自定义输出日志的格式 ##HTMLLayout ,使用HTML文件输出 ##SimpleLayout ,包含日志信息的级别和信息字符串 ##TTCCLayout ,包含日志产生的时间、线程、类别等等信息 log4j.appender.A1.layout=org.apache.log4j.PatternLayout ##设置自定义的输出格式规则 log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n #A2策略的声明 log4j.appender.A2=org.apache.log4j.FileAppender
##创建文件路径 log4j.appender.A2.file=e:/log/lo4j.log log4j.appender.A2.layout=org.apache.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n #A3策略的声明 log4j.appender.A3=org.apache.log4j.FileAppender log4j.appender.A3.file=e:/log/lo4j.html log4j.appender.A3.layout=org.apache.log4j.HTMLLayout
测试代码:
package cn.sebb; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; public class Log4jTest { public static void main(String[] args) { //获得Logger对象,输出日志,LogManager对象默认获得的配置文件是classpath根目录的log4j.properties文件 //日志的级别:DEBUG < INFO < WARN < ERROR < FATAL //日志输出,根据配置的最低级别输出 Logger logger=LogManager.getLogger(Log4jTest.class); //什么时候写debug,当我们需要通过调试信息分析逻辑时,将调试信息写在DEBUG级别里面 logger.debug("调试日志"); //什么时候写info,希望在试运行的时候,输出的调试信息 logger.info("信息日志"); //代码可以会出现问题的地方,设置警告日志 logger.warn("警告日志"); //报异常的时候,我们使用错误日志 logger.error("错误日志"); //特别重要的错误信息 logger.fatal("致命错误日志"); } }