logback(日志框架)私人学习笔记

俗话说“好记性不如烂笔头”,编程的海洋如此的浩大,养成做笔记的习惯是成功的一步!

此笔记主要是logback-1.2.3版本的笔记,并且笔记都是博主自己一字一字编写和记录,有错误的地方欢迎大家指正。






1、logback是由log4j创始人Ceki Gülcü设计的又一个开源日志组件,比log4j功能更强大,效率更高。将逐步取代log4j框架。
  logback-1.2.3是目前最新的版本,本笔记都基于此版本。
  官方网址:https://logback.qos.ch/
  使用手册:https://logback.qos.ch/manual/index.html


2、logback当前分成三个模块:
logback-core:是其他两个模块的基础模块,提供基础支持。
logback-classic:是log4j的改良版本,并且实现了sl4j的api,可以更方便的更换成其他日志框架。
logback-access:与servlet容器集成可通过http协议来访问日志的功能。


3、Logback的核心对象:Logger、Appender、Layout。
Logger:日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。
Logger对象一般多定义为静态常量。
 
Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、 MySQL、 PostreSQL、Oracle
和其他数据库、 JMS和远程UNIX Syslog守护进程等。
 
Layout:负责把事件转换成字符串,格式化的日志信息的输出。具体的Layout通配符,可以直接查看帮助文档。




4、默认情况下,logback框架默认会寻找logback.xml配置文件,如果不存在,则使用默认的配置,将日志打印到console控制台中。



5、logback依赖与slf4j框架,需要引入slf4j.jar包,如果项目或其他框架有使用log4j框架,则可以引入log4j-over-slf4j.jar
  来代替log4j.jar,从而最终统一由logback框架来管理日志。
  
  
  
6、logback日志输出的布局形式是可以定制的,可以自己继承ch.qos.logback.core.LayoutBase类来定制自己的日志输出格式,
  也可以直接使用框架现有的布局实现类,例如XMLLayout、HTMLLayout和PatternLayout等,通常使用PatternLayout就可以满足
  大部分的输出要求。布局的使用可以参考文档地址:https://logback.qos.ch/manual/layouts.html#PatternLayout 
  
  
7、详细的logback.xml配置文件:










false



converterClass="cn.cat.converter.MyConverter" />




UTF-8




备注内容






class="ch.qos.logback.core.rolling.RollingFileAppender">
UTF-8

${LOG_HOME}/${APP_NAME}.log

true

true



${LOG_HOME}/${APP_NAME}-%d{yyyy-MM-dd}.log


10

3GB



           
            INFO  
       

        



%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -%myCon- %msg%n


    
   
   
   ${LOG_HOME}/${APP_NAME}-info.log
   
     
     ${LOG_HOME}/${APP_NAME}-%d{yyyy-MM-dd}.%i-info.log
     
      100MB    
      60
      20GB
   

        
       
         
   INFO
   
   ACCEPT 
    
   DENY  
 

   
   
     %msg%n
   

   

    
   
   
       
   smtp.126.com
   25
   
xxx@126.com
        xxxxx
               
   
xxx@126.com
   
   
xxx@qq.com
   
   %logger{20} - %m
   
   false
   

 
 


 
 
 
 
    










   

你可能感兴趣的:(java框架)