Spring Boot下生产环境logback日志配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
	<contextName>vhsc-api4</contextName>
	<!-- 控制台输出 -->
	<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d %-5level %logger{36}[%line] - %msg%n</pattern>
		</encoder>
	</appender>

	<!-- 输出到文件 -->
	<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>DEBUG</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
		<file>${LOG_PATH}/debug.log</file>
		<!-- 设置滚动策略 -->
		<!-- 按天来回滚,如果需要按小时来回滚,则设置为{yyyy-MM-dd_HH} -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!--设置日志命名模式 -->
			<fileNamePattern>${LOG_PATH}/debug.log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
			<!-- 如果按天来回滚,则最大保存时间为60天,60天之前的都将被清理掉 这里的值与滚动策略模式有关 -->
			<maxHistory>60</maxHistory>
			<!-- 按照日期进行归档,并且对日志文件大小进行限制 -->
			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<!-- 设置文件大于1KB进行压缩归档 -->
				<maxFileSize>2KB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<encoder><!-- 格式化输出 -->
			<pattern>%d %-5level %logger{36}[%line] - %msg%n</pattern>
		</encoder>
	</appender>

	<!-- 输出到文件 -->
	<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>INFO</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
		<file>${LOG_PATH}/info.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_PATH}/info.log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
			<maxHistory>60</maxHistory>
			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>2KB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<encoder>
			<pattern>%d %-5level %logger{36}[%line] - %msg%n</pattern>
		</encoder>
	</appender>
	<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>WARN</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
		<file>${LOG_PATH}/warn.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_PATH}/warn.log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
			<maxHistory>60</maxHistory>
			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>2KB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<encoder>
			<pattern>%d %-5level %logger{36}[%line] - %msg%n</pattern>
		</encoder>
	</appender>
	<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>ERROR</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
		<file>${LOG_PATH}/error.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_PATH}/error.log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
			<maxHistory>60</maxHistory>
			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>2KB</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<encoder>
			<pattern>%d %-5level %logger{36}[%line] - %msg%n</pattern>
		</encoder>
	</appender>

	<root level="info">
		<appender-ref ref="CONSOLE" />
		<appender-ref ref="INFO_FILE" />
		<appender-ref ref="WARN_FILE" />
		<appender-ref ref="ERROR_FILE" />
	</root>

	<springProfile name="test,dev">
		<logger name="com.viewhigh.vhsc.hospital" level="debug" additivity="false">
			<appender-ref ref="CONSOLE" />
			<appender-ref ref="DEBUG_FILE" />
			<appender-ref ref="INFO_FILE" />
			<appender-ref ref="WARN_FILE" />
			<appender-ref ref="ERROR_FILE" />
		</logger>
	</springProfile>
	<springProfile name="prod">
		<logger name="com.viewhigh.vhsc.hospital" level="info" additivity="false">
			<appender-ref ref="CONSOLE" />
			<appender-ref ref="INFO_FILE" />
			<appender-ref ref="WARN_FILE" />
			<appender-ref ref="ERROR_FILE" />
		</logger>
	</springProfile>
</configuration>

 

Spring Boot中使用logback打印日志非常简单,只需要以下几个步骤: 1. 添加依赖 在pom.xml文件中添加logback的依赖 ```xml <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> ``` 2. 配置logback.xml 在src/main/resources下新建logback.xml文件,配置logback日志输出格式和输出位置等信息。 例如,以下是一个简单的logback.xml配置文件: ```xml <configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <logger name="com.example" level="DEBUG"/> <root level="INFO"> <appender-ref ref="CONSOLE"/> </root> </configuration> ``` 其中,`appender`定义了日志输出的方式,这里使用的是`ConsoleAppender`,即输出到控制台;`encoder`定义了日志的输出格式;`logger`定义了日志输出的级别,这里设置为DEBUG级别;`root`定义了日志输出的根级别,这里设置为INFO级别。 3. 在应用程序中使用logback 在需要打印日志的类中使用logback即可,例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyService { private static final Logger logger = LoggerFactory.getLogger(MyService.class); public void doSomething() { logger.debug("Debug log"); logger.info("Info log"); logger.warn("Warn log"); logger.error("Error log"); } } ``` 这里使用了`LoggerFactory.getLogger()`方法获取Logger对象,然后使用`debug()`、`info()`、`warn()`和`error()`等方法输出不同级别的日志信息。 以上就是在Spring Boot中使用logback打印日志的基本步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值