zoukankan      html  css  js  c++  java
  • logback的配置

    log back 是log4j的豪华升级版,项目中一般使用Log Back 作日志打印

    一、组件介绍

    Logger: 日志记录器,在Logger上可以定义日志记录的级别,类型等!

    Appender: 日志追加器,只要定义日志输出的目的地,输出到控制台还是到文件还是到其他的进程等!

          通常必须传入name(appender的名称,可以自定义),class(append的实现类,可以使用系统的实现类或用自己定义的实现类)

    Layout: 日志的样式!日志会参照layout的格式,进行格式化输出!

     

    二、配置实例

    在项目的resources 目录下创建logback.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration debug="false">
       <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
       <property name="LOG_HOME" value="/tmp/logs/" />
    
       <!-- 控制台输出 -->
       <appender name="STDOUT"
          class="ch.qos.logback.core.ConsoleAppender">
          <encoder
             class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
             <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度    %msg:日志消息,%n是换行符 -->
             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
          </encoder>
       </appender>
       
       <!-- 按照每天生成日志文件。存储事件日志 -->
       <appender name="FILE"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
          <!-- 设置日志不超过${log.max.size}时的保存路径,注意,如果是web项目会保存到Tomcat的bin目录 下 -->  
          <rollingPolicy
             class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!--日志文件输出的文件名 -->
             <FileNamePattern>${LOG_HOME}/app-%d{yyyy-MM-dd}.log</FileNamePattern>
             <!--日志文件保留天数 -->
             <MaxHistory>30</MaxHistory>
          </rollingPolicy>
          <encoder
             class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
             <pattern>%msg%n</pattern>
          </encoder>
          <!--日志文件最大的大小 -->
          <triggeringPolicy
             class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
             <MaxFileSize>10MB</MaxFileSize>
          </triggeringPolicy>
       </appender>
    
        <!--异步打印日志-->
        <appender name ="ASYNC_FILE" class= "ch.qos.logback.classic.AsyncAppender">
            <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
            <discardingThreshold >0</discardingThreshold>
            <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
            <queueSize>512</queueSize>
            <!-- 添加附加的appender,最多只能添加一个 -->
            <appender-ref ref = "FILE"/>
        </appender>
    
        <!-- 日志输出级别 -->
       <root level="INFO">
       <!--  引用之前的设置 -->
          <appender-ref ref="STDOUT" />
          <appender-ref ref="ASYNC_FILE" />
          <appender-ref ref="error" />
       </root>
    </configuration>
  • 相关阅读:
    GeoMesa Java API-写入与查询数据
    GeoMesa命令行,索引概述
    HBase,以及GeoMesa设计基于HBase的设计分析,从数据模型到典型查询场景,最后进行RowKey设计
    笔趣看小说Python3爬虫抓取
    python网络爬虫
    Kafka客户端Producer与Consumer
    ScalikeJDBC,操作mysql数据,API
    mysqldb
    Python 反射
    Go 类型转换
  • 原文地址:https://www.cnblogs.com/yangxusun9/p/12572900.html
Copyright © 2011-2022 走看看