war包应用,logback中,配置日志文件的生成地址

建议不要使用相对路径,直接根据catalina_home变量来指定,否则日志位置会出现一些奇怪的问题。

<?xml version="1.0" encoding="UTF-8"?>

<configuration debug="false" scan="false">

	<!-- 定义日志文件名称,与工程名一致 -->
	<property name="APP_NAME" value="RMS_Server" />

	<!-- 定义日志的根目录 -->
	<property name="LOG_HOME" value="${catalina.home}/logs" />

	<!-- 控制台输出设置 -->
	<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
		<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
			<layout class="ch.qos.logback.classic.PatternLayout">
				<pattern>
					%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%X{sessionId}]
					%logger{50}-%msg%n
				</pattern>
			</layout>
		</encoder>
	</appender>

	<!-- 正常文件输出设置 -->
	<appender name="FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<File>${LOG_HOME}/${APP_NAME}.log</File>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<FileNamePattern>${LOG_HOME}/${APP_NAME}/${APP_NAME}-%d{yyyy-MM-dd}-%i.zip
			</FileNamePattern>
			<maxFileSize>50MB</maxFileSize>
			<maxHistory>365</maxHistory>
			<totalSizeCap>20GB</totalSizeCap>
		</rollingPolicy>
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%X{sessionId}] %logger{50} -
				%msg%n</pattern>
		</encoder>
	</appender>

	<!-- 异常文件输出设置,将异常堆栈另外保存一份到单独的文件中,方便查找 -->
	<appender name="FILE_ERROR"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<File>${LOG_HOME}/${APP_NAME}.error.log</File>
		<rollingPolicy
			class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<FileNamePattern>${LOG_HOME}/${APP_NAME}/${APP_NAME}.error-%d{yyyy-MM-dd}-%i.zip
			</FileNamePattern>
			<maxFileSize>50MB</maxFileSize>
			<maxHistory>365</maxHistory>
			<totalSizeCap>20GB</totalSizeCap>
		</rollingPolicy>
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%X{sessionId}] %logger{50} -
				%msg%n</pattern>
		</encoder>
		<filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印错误日志 -->
			<level>ERROR</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
		<filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印警告日志 -->
			<level>WARN</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
	</appender>

	<!-- show parameters for hibernate sql 专为 Hibernate 定制
	<logger name="org.hibernate.type.descriptor.sql.BasicBinder"  level="TRACE" />
	<logger name="org.hibernate.type.descriptor.sql.BasicExtractor"  level="DEBUG" />
	<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
	<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
	-->
	<logger name="org.hibernate" level="INFO" />
	<logger name="org.hibernate.SQL" level="DEBUG" />
	<logger name="org.hibernate.jdbc" level="DEBUG" />
	<logger name="org.hibernate.engine.internal.StatisticalLoggingSessionEventListener" level="WARN" />
	<logger name="org.odftoolkit.odfdom.dom.element.table" level="INFO" />

	<!-- Spring framework logger -->
	<logger name="org.springframework" level="INFO"></logger>
	<!-- com.ceiec -->
	<logger name="com.ceiec" level="INFO"></logger>

	<root level="INFO">
		<appender-ref ref="CONSOLE" />
		<appender-ref ref="FILE" />
		<appender-ref ref="FILE_ERROR" />
	</root>

</configuration>

注意这里的log_home指定的是tomcat的根路径下的logs目录,这样就能保证日志打印在tomcat的logs下面

posted @ 2019-12-24 08:49  三国梦回  阅读(316)  评论(0编辑  收藏  举报