# 日志配置说明
# 日志使用说明
框架默认提供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>