zl程序教程

您现在的位置是:首页 >  后端

当前栏目

logback-spring.xml读取spring的属性

Spring属性XML 读取 logback
2023-09-27 14:26:27 时间

1. application.yml

info:
  name: file-uploader-service
# 日志目录(已过期,不建议使用)
logging:
  path: home/logs
  file: file-uploader-service
server:
  # 指定Tomcat端口
  port: 8000
eureka:
  client:
    serviceUrl:
      # 指定eureka server通信地址,注意/eureka/小尾巴不能少
      defaultZone: http://${EUREKA_HOST}:${EUREKA_PORT}/eureka/
ribbon:
  ConnectTimeout: 1800000  #连接超时
  ReadTimeout: 1800000     #读取超时

2. logback-spring.xml

方法一:

 <!-- 日志文件保存路径 -->
    <property name="log_home" value="${LOG_PATH}"/>
    <property name="prefix_name" value="${LOG_FILE}"/>

方法二:

<!-- 日志文件保存路径 -->
	<property name="log_home" value="${logs}"/>
	<!-- 读取spring配置 -->
	<springProperty scope="context" name="prefix_name" source="info.name"/>
	<!--<property name="prefix_name" value="${info_name}"/>-->
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 日志文件保存路径 -->
    <property name="log_home" value="${LOG_PATH}"/>
    <property name="prefix_name" value="${LOG_FILE}"/>

    <!-- 日志输出格式 -->
    <property name="ENCODER_PATTERN" value="%d{yyyy-MM-dd  HH:mm:ss.SSS} - %msg%n"/>
    <property name="CONSOLE_PATTERN" value="[%d{yyyy-MM-dd HH:mm:ss SSS}][%p] %m%n" />

    <!-- 控制台日志:输出全部日志到控制台 -->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_PATTERN}</pattern>
        </encoder>
    </appender>

    <!-- 文件日志:输出指定日志到文件 -->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_home}/${prefix_name}-info-%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>14</maxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_PATTERN}</pattern>
        </encoder>
    </appender>

    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_home}/${prefix_name}-error-%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>14</maxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_PATTERN}</pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>
</configuration>