Spring Boot logback ip

现在很多应用都是基于容器部署,且可能有多个实例,Spring Boot项目+logback生成日志时,为了让每个实例生成的日志在不同目录下,可以在logback-spring.xml中加上这样一个配置:

<springProperty scope="context" name="instanceIp" source="spring.cloud.client.ip-address" />

需要引入springcloud相关依赖,然后,在配置日志路径的时候这个配置:

<property name="LOG_HOME" value="./log/appName/${instanceIp}/" />

<appender name="flatfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${LOG_HOME}/test.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_HOME}/test.%d{yyyy-MM-dd}.gz</fileNamePattern>
			<maxHistory>7</maxHistory>
		</rollingPolicy>
		<encoder>
			<pattern>${CONSOLE_LOG_PATTERN}</pattern>
			<charset>UTF-8</charset>
		</encoder>
	</appender>

假设两个实例的ip分别为:192.168.0.1,192.168.0.2,那么生成的日志路径为: /log/appName/192.168.0.1/test.log , /log/appName/192.168.0.2/test.log

发布了15 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/oyc619491800/article/details/103551554
今日推荐