logback与Spring、SpringMVC结合使用教程

本文详细介绍了如何在Spring和SpringMVC项目中集成并配置logback,包括添加maven依赖、创建logback.xml配置文件,以及在web.xml中的设置,讨论了不同环境下日志文件的保存路径。
摘要由CSDN通过智能技术生成

        林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

        摘要:本文主要介绍了如何在spring、springMVC中使用logback

一、logback与Spirng结合使用

1、maven添加引用:

 

		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.1.2</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>1.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.logback-extensions</groupId>
			<artifactId>logback-ext-spring</artifactId>
			<version>0.1.1</version>
		</dependency>


其中logback-ext-spring这个jar包是为了和spring一起使用的。

 

2、src/main/resource添加logback.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<!-- 尽量别用绝对路径,如果带参数不同容器路径解释可能不同,以下配置参数在pom.xml里 -->
	<property name="log.root.level" value="${log.root.level}" /> <!-- 日志级别 -->
	<property name="log.other.level" value="${log.other.level}" /> <!-- 其他日志级别 -->
	<property name="log.base" value="${log.base}" /> <!-- 日志路径,这里是相对路径,web项目eclipse下会输出到eclipse的安装目录下,如果部署到linux上的tomcat下,会输出到tomcat/bin目录 下 -->
	<property name="log.moduleName" value="${log.moduleName}" />  <!-- 模块名称, 影响日志配置名,日志文件名 -->
	<property name="log.max.size" value="100MB" /> <!-- 日志文件大小 -->

	<!--控制台输出 -->
	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<Pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method\(\):%L -%msg%n</Pattern>
		</encoder>
	</appender>

  <!-- 日志文件输出 -->
	<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<File>${log.base}/${log.moduleName}.log</File><!-- 设置日志不超过${log.max.size}时的保存路径,注意如果 是web项目会保存到Tomcat的bin目录 下 -->
		<!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。-->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<FileNamePattern>${log.base}/archive/${log.moduleName}_all_%d{yyyy-MM-dd}.%i.log.zip
			</FileNamePattern>
			<!-- 当天的日志大小 超过${log.max.size}时,压缩日志并保存 -->
			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<maxFileSize>${log.max.size}</maxFileSize>
			</timeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<!-- 日志输出的文件的格式  -->
		<layout class="ch.qos.logback.classic.PatternLayout">
			<pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method\(\):%L -%msg%n</pattern>
		</layout>
	</appender>
 
	<!-- 为某个包下的所有类的指定Appender 这里也可以指定类名称例如:com.aa.bb.ClassName -->
	<logger name="com.lin" additivity="false">
		<level value="debug" />
		<appender-ref ref="stdout" />
		<appender-ref ref="file" />
	</logger>
	<!-- root将级别为“DEBUG”及大于“DEBUG”的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console -->
	<root level="debug">
		<appender-ref ref="stdout" /> <!-- 标识这个appender将会添加到这个logger -->
		<appender-ref ref="file" />
	</root>
</configuration>

 

其中,下面这几个参数 是在pom.xml里配置的,如果你不想在pom.xml里来配置,也可以直接写死就是

<property name="log.root.level" value="${log.root.level}" /> 
<property name="log.other.level" value="${log.other.level}" /> 
<property name="log.base" value="${log.base}" /> 
<property name="log.moduleName" value="${log.moduleName}" />  
<property name="log.max.size" value="10kb" />

参数内容如下:

 

<profiles>
		<!-- 开发环境 -->
		<profile>
			<id>dev</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<!-- 以下配置properties中用到一些变量,如数据库连接参数、日志打印等 -->
			<properties>
				<!-- DB Resource -->
				<jdbc_driverClassName>com.mysql.jdbc.Driver</jdbc_driverClassName>
				<jdbc_url>jdbc:mysql://localhost:3306/learning</jdbc_url>
				<jdbc_username>root</jdbc_username>
				<jdbc_password>christmas258@</jdbc_password>

				<log.moduleName>ssm-project</log.moduleName>
				<log.base>logs&
  • 10
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值