Log4j使用总结

    技术2022-05-11  135

    #OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。 Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG #这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~! log4j.rootLogger=DEBUG

    #将DAO层log记录到DAOLog,allLog中log4j.logger.DAO=DEBUG,A2,A4#将逻辑层log记录到BusinessLog,allLog中log4j.logger.Businesslog=DEBUG,A3,A4

    #A1--打印到屏幕上log4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%-5p [%t] 7c %3x - %m%n

    #A2--打印到文件DAOLog中--专门为DAO层服务log4j.appender.A2=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A2.file=DAOLoglog4j.appender.A2.DatePattern='.'yyyy-MM-ddlog4j.appender.A2.layout=org.apache.log4j.PatternLayoutlog4j.appender.A2.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    #A3--打印到文件BusinessLog中--专门记录逻辑处理层服务log信息log4j.appender.A3=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A3.file=BusinessLoglog4j.appender.A3.DatePattern='.'yyyy-MM-ddlog4j.appender.A3.layout=org.apache.log4j.PatternLayoutlog4j.appender.A3.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    #A4--打印到文件alllog中--记录所有log信息log4j.appender.A4=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A4.file=allloglog4j.appender.A4.DatePattern='.'yyyy-MM-ddlog4j.appender.A4.layout=org.apache.log4j.PatternLayoutlog4j.appender.A4.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    #Appender的使用log4j.appender.A2=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A2.file=demolog4j.appender.A2.DatePattern='.'yyyy-MM-ddlog4j.appender.A2.layout=org.apache.log4j.PatternLayoutlog4j.appender.A2.layout.ConversionPattern=%m%n

    #Layout的配置log4j.appender.A2.layout=org.apache.log4j.PatternLayoutlog4j.appender.A2.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

     

     

    ConversionPattern参数的格式含义格式名 含义%c 输出日志信息所属的类的全名%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28%f 输出日志信息所属的类的类名%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行%m 输出代码中指定的信息,如log(message)中的message%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推%r 输出自应用启动到输出该日志信息所耗费的毫秒数%t 输出产生该日志事件的线程名

    #1 定义了两个输出端log4j.rootLogger = INFO, A1, A2,A3

    #2 定义A1输出到控制器log4j.appender.A1 = org.apache.log4j.ConsoleAppender#3 定义A1的布局模式为PatternLayoutlog4j.appender.A1.layout = org.apache.log4j.PatternLayout#4 定义A1的输出格式log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %c - %m%n

    #5 定义A2输出到文件log4j.appender.A2 = org.apache.log4j.RollingFileAppender#6 定义A2要输出到哪一个文件log4j.appender.A2.File = F:nepalonclassesexample3.log#7 定义A2的输出文件的最大长度log4j.appender.A2.MaxFileSize = 1KB#8 定义A2的备份文件数log4j.appender.A2.MaxBackupIndex = 3#9 定义A2的布局模式为PatternLayoutlog4j.appender.A2.layout = org.apache.log4j.PatternLayout#10 定义A2的输出格式log4j.appender.A2.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n

    配置log4j的总结这个教程到这里,关于配置log4j的配置文件的基本原理已经讲完了,而且通过例3我们已经可以完成基本的日志工作了。现在,我们就做一个总结。配置一个配置文件的基本步骤如下:1) 定义一个Logger。在定义Logger时指定该Logger的级别级其输出目的地。定义Logger的格式为log4j.rootLogger = [ level ], appendName1, appendName2, …appendNameN。2) 定义appender的输出目的地。定义一个appender的输出目的地的格式为log4j.appender.appenderName = fully.qualified.name.of.appender.class。log4j提供的输出端有ConsoleAppender、FileAppender 、DailyRollingFileAppender、RollingFileAppender和WriterAppender。3) 定义appender的除布局模式外的其它相关参数,如例3中第6、7、8定义了A2的相关参数。定义格式为log4j.appender.appenderName.optionName1 = value1……log4j.appender.appenderName.optionNameN = valueN如果除了布局模式外不需要定义别的参数,可跳过这一步(如例3中的A1)。4) 定义appender的布局模式。定义一个appender的布局模式的格式为log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class。布局模式其实也是步骤3)中的一个部分,只是布局模式参数是每一个appender必须定义的参数。Log4j提供的布局模式有HTMLLayout、PatternLayout和SimpleLayout。5) 定义与所选的布局模式相关的设置信息,定义格式为og4j.appender.appenderName.layout.optionName1 = value1……log4j.appender.appenderName.layout.optionNameN = valueN

    在类中使用时,导入以下包:import org.apache.log4j.BasicConfigurator;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;

    在类中创建log对象private Logger log = Logger.getLogger(this.getClass());

     

    最新回复(0)