springboot Logback 不同环境,配置不同的日志输出路径
在Spring Boot中,你可以通过配置application.properties
或application.yml
文件来为不同的环境指定Logback的日志输出路径。以下是一个使用application.yml
的例子:
spring:
profiles:
active: dev # 这里可以是dev, test, prod等环境名
logging:
config: classpath:logback-${spring.profiles.active}.xml
然后,你可以为每个环境创建不同的Logback配置文件,例如:
logback-dev.xml
:开发环境日志配置logback-test.xml
:测试环境日志配置logback-prod.xml
:生产环境日志配置
以下是一个logback-dev.xml
的示例配置,它将日志输出到文件,并且按照每天滚动:
<configuration>
<springProperty scope="context" name="LOG_FILE" source="logging.file.name" defaultValue="app-dev"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE}.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
在这个配置中,日志文件的名称由logging.file.name
属性决定,若未指定则默认为app-dev
。滚动策略设置了每天或当文件大小超过100MB时创建新的日志文件。
确保在你的Spring Boot应用中包含了对应环境的Logback配置文件,并且在启动应用时通过传递参数来激活对应的Spring Profile,例如使用--spring.profiles.active=dev
来激活开发环境配置。
评论已关闭