log4j的使用

问题的引入:

  把所有的信息打印在控制台上不行吗?

        01.控制台有行数限制;

        02.System.out.println()影响系统性能;

        03.如果我们需要对一些用户的行为习惯进行分析,我们找不到用户的数据!

  程序中出现了问题怎么办?

      01.debug断点调试;(务必掌握)

      02.System.out.println()把信息打印在console控制台上(不会debug)

记录日志:

  作用:

    01.记录代码中变量的变化情况,易于我们的代码调试和后期维护;

    02.周期性保存一些数据到文件中,以便于后续使用;

    03.可以设置日志信息的级别,便于管理。

组成部分:

  01.日志记录器

  02.日志的输出格式

  03.日志的输出目的地

八个输出级别:

  OFF        级别最高,用于关闭所有的日志记录

    FATAL    严重的错误事件将会导致应用程序的退出

    ERROR  错误事件,但仍然不影响系统的继续运行

    WARN    会出现潜在错误的情形

    INFO       消息在粗粒度级别上突出强调应用程序的运行过程

    DEBUG  细粒度信息事件对调试应用程序非常有帮助

    TRACE   细粒度比DEBUG更低的信息事件

  ALL         级别最低,用于开启所有的日志记录

生产环境时,建议把DEBUG日志级别换成WARN,避免产生大量文件!

日志输出格式(Layout)

%p   : 日志信息的优先级

%d   :   日志的输出时间  比如   %d{yyyy-MM-dd hh:mm:ss}

%C  : 输出日志信息的全类名

%l    :   日志输出的位置,包含类名,线程和日志输出的行号

%m  :   日志输出的信息

%M  :   日志输入所在的方法

%n   :   换行  

%r   :    从程序启动到输出日志信息,经历的时间(毫秒)

%t   :    输出日志信息的线程

 log4j的日志输出目的地

   01.指定日志信息输出到哪个地方
        02.可以同时指定多个输出目的地
        03.一个输出目的地就是一个Appender  ===》一个类

 例子:

  将日志信息输出到console控制台    =====》ConsoleAppender
       将日志信息输出到文件中                 =====》RollingFileAppender   DailyRollingFileAppender
                       RollingFileAppender         :按照文件的大小生成新文件
               DailyRollingFileAppender         : 按照时间生成新文件  

log4j的使用

  

原文地址:https://www.cnblogs.com/fl72/p/9253804.html