# 日志配置说明

# 日志使用说明

框架默认提供logback作为日志输出框架 后台提供日志查询系统 项目可根据实际情况,自定义日志输出方案。

# 配置说明 2022-01-18修改

# 主要注意事项:

ts框架日志配置方式

ts:
  log:
    output-type: file,elastic,console
    package-level: # 包日志级别配置
      org.springframework.boot: error
      com.codingapi: error
      com.jinke: error
      com.alibaba: error
    appender-type:
      file:
        appender-loader-class: com.jinke.ts.core.log.logback.config.RollingFileAppenderLoader    # 文件配置加载器类名
        file-name-pattern: /var/log/webapps/${spring.application.name}/file_%d{yyyy-MM-dd}_%i.log   # 配置日志文件的路径和命名规则
        format: "%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n"    # 日志输出格式
        maxHistory: 30    # 文件最大保留天数
        maxFileSize: 10mb    # 单个文件最大容量(单位可以是kb,mb,gb)
        clearSize: 1gb    # 所有文件最大容量(单位可以是kb,mb,gb)
        use-all-package-level: false    # 是否使用package-level所配置的包和包的日志级别(true:使用,false:不使用)
        monitor-packages:    # 同上
          - com.codingapi
          - com.jinke
          - com.alibaba
      elastic:    # elastic配置
        appender-loader-class: com.jinke.ts.core.log.logback.config.ElasticAppenderLoader    # elastic配置加载器类名
        format: "%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n"     # 日志输出格式
        host: 172.24.29.240:9201,172.24.29.239:9201  # elastic服务的地址
        index: @project.artifactId@
        type: _doc
        es-login-name: elastic
        es-password: ***
        use-all-package-level: false    # 是否使用package-level所配置的包和包的日志级别(true:使用,false:不使用)
        monitor-packages:    # 同上
          - com.codingapi
          - com.jinke
          - com.alibaba

logback-spring.xml方式配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
    <property  name="log.path" value="/var/log/webapps/ts-gateway-admin-server"/>
    <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/sys_error_0.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 日志最大的历史 60天 -->
            <maxHistory>60</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <appender name="ELASTIC" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
        <url>http://elastic:***@tools-test.tq-service.com:9200/_bulk</url>
        <!--<url>http://elastic:***@172.24.29.239:9201/_bulk</url>-->
        <index>ts-gateway-admin-server-%date{yyyy-MM-dd}</index>
        <type>_doc</type>
        <errorLoggerName>ts-gateway-admin-server-error-logger</errorLoggerName> <!-- optional -->
        <connectTimeout>30000</connectTimeout> <!-- optional (in ms, default 30000) -->
        <errorsToStderr>false</errorsToStderr> <!-- optional (default false) -->
        <includeCallerData>false</includeCallerData> <!-- optional (default false) -->
        <logsToStderr>false</logsToStderr> <!-- optional (default false) -->
        <maxQueueSize>104857600</maxQueueSize> <!-- optional (default 104857600) -->
        <maxRetries>3</maxRetries> <!-- optional (default 3) -->
        <readTimeout>30000</readTimeout> <!-- optional (in ms, default 30000) -->
        <sleepTime>250</sleepTime> <!-- optional (in ms, default 250) -->
        <rawJsonMessage>false</rawJsonMessage> <!-- optional (default false) -->
        <includeMdc>false</includeMdc> <!-- optional (default false) -->
        <maxMessageSize>100</maxMessageSize> <!-- optional (default -1 -->
        <authentication class="com.internetitem.logback.elasticsearch.config.BasicAuthentication"/> <!-- optional -->
        <properties>
            <property>
                <name>level</name>
                <value>%level</value>
            </property>
            <property>
                <name>loggerName</name>
                <value>%logger</value>
            </property>
            <property>
                <name>threadName</name>
                <value>%thread</value>
            </property>
            <property>
                <name>message</name>
                <value>%ex</value>
            </property>
        </properties>
        <headers>
            <header>
                <name>Content-Type</name>
                <value>application/json</value>
            </header>
        </headers>
    </appender>
    <root level="info">
        <appender-ref ref="console" />
        <appender-ref ref="ELASTIC" />
    </root>

</configuration>
最后更新日期: 1/18/2022, 9:56:36 AM