zoukankan      html  css  js  c++  java
  • 日志相关知识

    log4j

    logback

    Slf4j 一套日志规范

    slf4j-log4j 建立接口和实现之间的调用关系

    1.日志的级别

    debug----info----warning----error

    低           高

    日志级别越低,日志打印量越多,日志打印越详细

    2.日志的分类

    父日志:根日志(rootLogger)针对项目中使用的技术及项目中的日志处理(全局日志)

    子日志(logger) : 针对某个包的日志控制 dao

    查询所用,经过controller service dao 只看sql语句的日志

    3.Appender 为日志输出目的地,Log4j提供的appender有以下几种:

     org.apache.log4j.ConsoleAppender(控制台),
    org.apache.log4j.FileAppender(文件),
    org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
    org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
    org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

    4.Layout:日志输出格式

      org.apache.log4j.HTMLLayout(以HTML表格形式布局),
    org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
    org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
    org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

    5.日志参数

             %m   输出代码中指定的消息
      %p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
      %r   输出自应用启动到输出该log信息耗费的毫秒数 
      %c   输出所属的类目,通常就是所在类的全名 
      %t   输出产生该日志事件的线程名 
      %n   输出一个回车换行符,Windows平台为“ ”,Unix平台为“ ” 
      %d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:                     %d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日  22 : 10 : 28 , 921  
      %l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 ) 

    6.log4j的使用

    a.引入jar

    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    </dependency>

    b.书写log4j.properties

    c.在类上加上@slf4j注解,它提供logger作为核心对象,等同于

    private static Logger logger = LoggerFactory.getLogger(TestLog.class)

    d.logger的使用

     注意:对于logger在打印变量的时候需要使用{},占位符,有一个变量就是一个占位符,多个就是多个占位符

    7.logback的使用

    logback和log4j的区别

    log4j.properties

    logback.xml

    1.logback和log4j的区别

    springboot  如果在springboot中使用logback不需要引入任何依赖,因为springboot内部集成的就是logback可以直接使用

    使用两种形式,xml和

    logback配置文件
        > logback的配置文件必须放在项目根目录中 放在resources,名字必须为logback.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration>
       <!--定义项目中日志输出位置-->
       <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
           <!--定义项目的日志输出格式-->
           <!--定义项目的日志输出格式-->
           <layout class="ch.qos.logback.classic.PatternLayout">
               <pattern> [%p] %d{yyyy-MM-dd HH:mm:ss} %m %n</pattern>
           </layout>
       </appender>

       <!--项目中跟日志控制-->
       <root level="INFO">
           <appender-ref ref="stdout"/>
       </root>
       <!--项目中指定包日志控制-->
       <logger name="com.nylg.dao" level="DEBUG"/>

    </configuration>

     修改springboot的配置文件

    父日志级别

    logging:
    level:
    root: error

    子日志级别

    logging:
    level:
    com.nylg.dao: debug
    com.nylg.service: debug
    pattern:

    控制台打印日志格式

    console: "[%p]:%m%n"

    文件日志打印格式

     file: "[%p] %c:%m%n"

    日志输出地输出到文件

    file: springboot.log

    日志打印格式

    日志的输出地

           

  • 相关阅读:
    mysql优化思路
    mysql列类型选择
    mysql 多列索引的生效规则
    Myisam索引和Innodb索引的区别
    mysql创建远程用户并授权
    mysql 索引长度和区分度
    php 内存共享shmop源码阅读
    短链接系统的算法原理
    PHP die与exit的区别
    MySQL建立外键(Foreign Key)
  • 原文地址:https://www.cnblogs.com/ghwq/p/12625638.html
Copyright © 2011-2022 走看看