logback-spring.xml读取spring的属性
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>
相关文章
- Spring Cloud Eureka 属性作用
- spring属性依赖注入
- Spring Data 测试数据查询测试的时候提示 hibernate.dialect
- Spring Boot 针对 Java 开发人员的安装指南
- java中spring提供的属性copy方法
- Spring MVC之@RequestBody, @ResponseBody 详解
- eclipse中spring配置文件的自动提示和namespace的添加
- 阿里一面:Spring Bean 默认是单例的,高并发情况下,如何保证并发安全?
- Spring+SpringMVC+MyBatis整合
- Spring的BeanUtils.copyProperties如果属性名一样,但是类型不一样会怎样?
- Spring配置文件中指定init-method属性的作用
- Spring 项目 @ModelAttribute 绑定属性乱码
- 使用Spring Cache + Redis + Jackson Serializer缓存数据库查询结果中序列化问题的解决
- 【策略模式】策略模式结合Spring实战Demo
- Spring_day02--课程安排_Spring的bean管理(注解)(注解创建对象/注入属性、配置文件和注解混合使用)
- Spring_day01--注入对象类型属性(重点)_P名称空间注入_注入复杂类型属性_IOC和DI区别_Spring整合web项目原理
- spring 配置属性的详细信息
- Spring竟然可以创建“重复”名称的bean?—一次项目中存在多个bean名称重复问题的排查
- spring boot controller设置 @Transactional 不回滚的解决办法
- Java 使用Spring WebFlux上传多个文件方法代码
- spring boot @Scheduled未生效原因以及相关坑、及相对其他定时任务架构的优势
- Spring Boot2.x系列教程(六)类型安全属性配置详解
- 细说spring事务配置属性
- spring mvc@ModelAttribute与@SessionAttributes的执行流程