zoukankan      html  css  js  c++  java
  • Log4j的使用

    Log4j的使用:

    (1)导入jar

    (2)配置文件:在项目的src目录下创建一个log4j.properties文件。

    在配置文件中写入(加粗部分):

    log4j.rootLogger=[ level ], appenderName1 , appenderName2,...

    Level:是日志记录的优先级,分为OFFFATALERRORWARNINFODEBUGALL或者自定义级别。

    Log4j建议只使用4个级别,优先级从高到低分别是ERRORWARNINFODEBUG。通过在这里定义的级别,可以控制到应用程序中相应级别的日志信息的开关。

    比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。

    appenderName:就是指定日志信息输出到哪个地方,可以同时指定多个输出目的地。例如:log4j.rootLogger=INFO,A,B,C配置了3个输出地方,这个名字可以任意,但必须与我们在后面进行的设置名字对应。

    log4j.appender.A=org.apache.log4j.ConsoleAppender

    此句定义名为A的输出端是那种类型,可以是:

    org.apache.log4j.ConsoleAppender (控制台)

    org.apache.log4j.FileAppender(文件)

    org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)

    org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

    org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

    log4j.appender.A.layout=org.apache.log4j.PatternLayout

    此句定义名为A的输出端的layout是哪种类型,可以是:

    org.apache.log4j.HTMLLayout(以HTML表格形式布局)

    org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

    org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)

    org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)

    log4j.appender.A.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%p]:%l - %m%n

    打印参数如下:

    %m输出代码中指定的消息

    %M输出打印该条日志的方法名

    %p输出优先级,即OFFFATALERRORWARNINFODEBUG...

    %r输出自应用启动到输出该log信息耗费的毫秒数

    %c输出所属类目,通常就是所在类的全名

    %t输出产生该日志事件的线程名

    %n输出一个回车换行符

    %d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2019-04-20 22:10:28,921

    %l输出日志事件的发生位置,及在代码中的行数

    log4j.appender.B.Threshold=INFO //指定当前日志的输出级别,优先级低于指定级别的日志不输出。

    例如:

    log4j.rootLogger=INFO,A,B,C

    #A#

    1 log4j.appender.A=org.apache.log4j.ConsoleAppender//将日志输出到控制台
    2 
    3 log4j.appender.A.Target=System.out
    4 
    5 log4j.appender.A.layout=org.apache.log4j.PatternLayout
    6 
    7 log4j.appender.A.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t][%p]:%l - %m%n

    ##B

     1 log4j.appender.B=org.apache.log4j.DailyRollingFileAppender
     2 
     3 #B de suo zai mu lu
     4 
     5 log4j.appender.B.File=log/info.log //指定B文件的所在目录
     6 
     7 log4j.appender.B.Appender=true//指定是否可以追加
     8 
     9 log4j.appender.B.Threshold=INFO//指定B文件记录的日志级别
    10 
    11 log4j.appender.B.layout=org.apache.log4j.PatternLayout
    12 
    13 log4j.appender.B.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t][%p]:%l - %m%n //日志输出格式

    #C

     1 log4j.appender.C=org.apache.log4j.DailyRollingFileAppender
     2 
     3 #C de suo zai mu lu
     4 
     5 log4j.appender.C.File=log/error.log
     6 
     7 log4j.appender.C.Appender=true
     8 
     9 log4j.appender.C.Threshold=ERROR
    10 
    11 log4j.appender.C.layout=org.apache.log4j.PatternLayout
    12 
    13 log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t][%p]:%l - %m%n

    使用示例:

    1 import org.apache.log4j.*;
    2 public class Test {
    3     public static void main(String[] args) {
    4         Logger logger=Logger.getLogger(Test.class);
    5         logger.error("我是error错误");    //记录一个error级别的日志
    6         logger.info("我是info错误");    //记录一个info级别的日志
    7         logger.warn("我是warn错误");    //记录一个warn级别的日志
    8         }
    9 }
  • 相关阅读:
    SQL 在数据库中查找包含指定关键字的存储过程或函数
    根据名称查找存储过程或函数
    根据最后修改时间查找存储过程或函数
    SQL 数据过度事务模板
    Feeling something wrong
    发布一个倒计时软件(C# 开源)
    SpringBoot中的配置文件信息加密
    springboot中mysql连接配置
    React学习2_运行项目
    React学习0_文章目录
  • 原文地址:https://www.cnblogs.com/baichunyu/p/11152268.html
Copyright © 2011-2022 走看看