• java中log4j学习笔记


    Log4j是apache的一个开源项目,用来操作程序日志信息的框架。因便于管理,在工程中用来代替System.out打印语句。通过配置Log4j中的log4j.properties,可以指定日志信息的级别,输出地点,输出格式。
    一、LOG4J组成  
     Log4j的有3大主要组件:
          1,Logger:记录器,决定什么日志信息应该被输出、什么日志信息应该被忽略。
          2,Appender:存放器,指定日志信息应该输出到什么地方,可以是控制台、文件、网络设备。
          3,Layout:布局格式,指定日志信息的输出格式。
       一个logger可以用多个appender,也就是说日志信息可以同时输出到多个设备上,每个appender对应一种layout。
       所以,记录器用来整合日志信息,一个日志信息调整好以后,交给记录器的所有存放器,每一个存放器根据自己的格式输出日志信息。
    二、记录器组件Logger
       1.根记录器 : rootLogger
         配置语法 :log4j.rootLogger = [日志级别],存放器名1,存放器名2, ... ,存放器名N
         日志级别 :级别由高到低依次是:fatal、error、warn、info、debug。
         项目中代码:
              log4j.rootLogger=INFO, stdout, logfile
          跟记录器的日子级别是info,所以info,warn,error,fatal均会被执行。stdout,logfile是存放器。
       2. 在配置文件中配置Logger组件
          可在Log4J配置文件中配置自己的Logger组件
          项目中代码:
          log4j.logger.Application=INFO,Application
          log4j.logger.Service=DEBUG,Service
          log4j.logger.jdbc=INFO,jdbc
          log4j.logger.Action=INFO,Action
          定义了application,service,jdbc,action四个自己的logger组件,并分别配置了级别和存放器。

    三、存放器组件Appender
        配置语法 :

             log4j.appender.存放器名 = 存放类
             log4j.appender.存放器名.option1 = value1
         存放类:
     org.apache.log4j.ConsoleAppender         控制台输出
            org.apache.log4j.FileAppender          文件
            org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件
            org.apache.log4j.RollingFileAppender  文件大小到达指定尺寸的时候产生一个新的文件
            org.apache.log4j.WriterAppender   将日志信息以流格式发送到任意指定的地方

        项目中代码:  
           Application记录器:
             log4j.appender.Application=org.apache.log4j.RollingFileAppender
             log4j.appender.Application.encoding=UTF-8
             log4j.appender.Application.File=/imagesys/logs/ImageCreditServer/ApplicationLog.log
             log4j.appender.Service.MaxFileSize=10240KB      
           Service记录器:
              log4j.appender.Service=org.apache.log4j.RollingFileAppender
              log4j.appender.Service.encoding=UTF-8
              log4j.appender.Service.File=/imagesys/logs/ImageCreditServer/ServiceLog.log
              log4j.appender.Service.MaxFileSize=10240KB
            jdbc记录器:
              log4j.appender.jdbc=org.apache.log4j.RollingFileAppender
              log4j.appender.jdbc.encoding=UTF-8
              log4j.appender.jdbc.File=/imagesys/logs/ImageCreditServer/jdbcLog.log 
              log4j.appender.jdbc.MaxFileSize=1024KB
            action记录器:
              log4j.appender.Action=org.apache.log4j.RollingFileAppender
              log4j.appender.Action.encoding=UTF-8
              log4j.appender.Action.File=/imagesys/logs/ImageCreditServer/ActionLog.log
              log4j.appender.Action.MaxFileSize=10240KB
      分别制定了输出文件的存放类,编码方式,文件路径,文件大小。
     四、格式化组件Layout
           配置语法 :
           log4j.appender.存放器名.layout = 格式类
           log4j.appender.存放器名.layout.option1 = value1
            … …
           log4j.appender.存放器名.layout.optionN = valueN
           输出格式类型:
           . org.apache.log4j.HTMLLayout(以HTML表格形式布局);
           . org.apache.log4j.PatternLayout(可以灵活地指定布局模式);
           . org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串);
           . org.apache.log4j.TTCCLayout(包含日志产生的时间、线程和类别等信息);
           符号             描述
            %r          自程序开始后消耗的毫秒数
            %t          表示日志记录请求生成的线程
            %p          表示日志语句的优先级
            %r          与日志请求相关的类别名称
            %c          日志信息所在的类名
            %m%n        表示日志信息的内容
           项目中代码: 
           log4j.appender.Application.layout=org.apache.log4j.PatternLayout
           log4j.appender.Application.layout.ConversionPattern=%d %p [%c] - %m%n
           以自定义的格式输出日志信息。

     五、日志的分类

       SQL日志:记录系统执行的SQL语句。

       异常日志:记录系统运行中发生的异常事件。

       业务异常:记录系统运行过程,如用户登录、操作记录。

     log4j是一个非常优秀的日志记录工具。通过log4就,我们可以控制日志输出级别,以及输出的目的地,以及控制每一条日志的输出格式

  • 相关阅读:
    tensflow安装
    Dubbo的服务注册--Zookeeper
    Dubbo源码分析之Exporter---服务暴露(本地和远程)
    Dubbo源码分析之XML的Bean解析
    Dubbo的SPI可扩展机制的源码分析
    Dubbo源码分析(三)-----消费者引用服务启动时序
    导出mysql的表结构的字段为excel
    Dubbo源码分析(二)-----提供者启动过程分析
    dubbo的api的配置(基于注解的配置)
    Dubbo源码分析(一)-----包结构的分析
  • 原文地址:https://www.cnblogs.com/developerxiaofeng/p/7360113.html
Copyright © 2020-2023  润新知