zoukankan      html  css  js  c++  java
  • logback

    https://blog.csdn.net/xiaoyu411502/article/details/48295973
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <contextName>${APP_NAME}</contextName>
    <springProperty name="APP_NAME" scope="context" source="spring.application.name"/>
    <springProperty name="LOG_PATH" scope="context" source="box.transaction.logback.path"/>
    <springProperty name="LOG_FILE" scope="context" source="logging.file"
    defaultValue="${LOG_PATH}/application/${APP_NAME}"/>
    <springProperty name="LOG_POINT_FILE" scope="context" source="logging.file" defaultValue="${LOG_PATH}/point"/>
    <springProperty name="LOG_MAXFILESIZE" scope="context" source="logback.filesize" defaultValue="50MB"/>
    <springProperty name="LOG_FILEMAXDAY" scope="context" source="logback.filemaxday" defaultValue="7"/>
    <springProperty name="ServerIP" scope="context" source="spring.cloud.client.ip-address" defaultValue="0.0.0.0"/>
    <springProperty name="ServerPort" scope="context" source="server.port" defaultValue="0000"/>

    <!-- 彩色日志 -->
    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex"
    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx"
    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>

    <property name="CONSOLE_LOG_PATTERN"
    value="[${APP_NAME}:${ServerIP}:${ServerPort}] %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%level){blue} %clr(${PID}){magenta} %clr([%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]) %clr([%thread]){orange} %clr(%logger){cyan} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

    <property name="CONSOLE_LOG_PATTERN_NO_COLOR"
    value="[${APP_NAME}:${ServerIP}:${ServerPort}] %d{yyyy-MM-dd HH:mm:ss.SSS} %level ${PID} %clr([%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]) [%thread] %logger %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

    <!-- 控制台日志 -->
    <appender name="StdoutAppender" class="ch.qos.logback.core.ConsoleAppender">
    <withJansi>true</withJansi>
    <encoder>
    <pattern>${CONSOLE_LOG_PATTERN}</pattern>
    <charset>UTF-8</charset>
    </encoder>
    </appender>
    <!-- 按照每天生成常规日志文件 -->
    <appender name="FileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_FILE}/${APP_NAME}.log</file>
    <encoder>
    <pattern>${CONSOLE_LOG_PATTERN_NO_COLOR}</pattern>
    <charset>UTF-8</charset>
    </encoder>
    <!-- 基于时间的分包策略 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${LOG_FILE}/${APP_NAME}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    <!--保留时间,单位:天-->
    <maxHistory>${LOG_FILEMAXDAY}</maxHistory>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <maxFileSize>${LOG_MAXFILESIZE}</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>INFO</level>
    </filter>
    </appender>

    <appender name="point_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_POINT_FILE}/point.log</file>
    <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss}|${APP_NAME}|%msg%n</pattern>
    <charset>UTF-8</charset>
    </encoder>
    <!-- 基于时间的分包策略 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${LOG_POINT_FILE}/point.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    <!--保留时间,单位:天-->
    <maxHistory>${LOG_FILEMAXDAY}</maxHistory>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <maxFileSize>${LOG_MAXFILESIZE}</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>INFO</level>
    </filter>
    </appender>

    <appender name="point_log_async" class="ch.qos.logback.classic.AsyncAppender">
    <discardingThreshold>0</discardingThreshold>
    <appender-ref ref="point_log"/>
    </appender>
    <logger name="com.box" level="info" addtivity="false">
    <appender-ref ref="point_log_async"/>
    </logger>
    <appender name="file_async" class="ch.qos.logback.classic.AsyncAppender">
    <discardingThreshold>0</discardingThreshold>
    <appender-ref ref="FileAppender"/>
    </appender>
    <root level="INFO">
    <appender-ref ref="StdoutAppender"/>
    <appender-ref ref="file_async"/>
    </root>
    </configuration>

    box:
    transaction:
    logback:
    path: /opt/box-server/logs



     

     

    小蚊子大人
  • 相关阅读:
    DAY13-前端之JavaScript
    DAY12-前端之CSS
    DAY12-前端之HTML
    DAY11-MYSQL之ORM框架SQLAlchemy
    DAY11-MYSQL视图、触发器、事务、存储过程、函数
    DAY11-MYSQL数据备份、pymysql模块
    DAY11-MYSQL索引原理与慢查询优化
    020.2.2 runtime类
    020.2.1 system
    020.1.2 Arrays集合工具类
  • 原文地址:https://www.cnblogs.com/ywsheng/p/15175507.html
Copyright © 2011-2022 走看看