logback配置日志文件位置

logback输出的日志文件,默认会放到“启动进程”的目录下面

比如说程序直接在eclipse里跑,就会输出到eclipse.exe所在的目录下,如果是在tomcat中跑,就会输出到%TOMCAT_HOME%/bin目录下
<appender name="FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">

		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>MyLog/logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
			<maxHistory>30</maxHistory>
		</rollingPolicy>

		<encoder>
			<pattern>%-4relative %d{HH:mm:ss.SSS} - [%thread] %-5level %class - %msg%n</pattern>
		</encoder>

	</appender>

如果应用部署在jboss下,采用上面的配置文件,则会在%JBOSS_HOME%/bin目录下创建一个MyLog的文件夹

当然一般是不会这样的,因为日志文件放在应用服务器的bin目录下是很奇怪的,所以可以用绝对路径或者相对路径的方式,配置日志文件的位置

绝对路径:
<appender name="FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">

		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>/opt/xxx/log/logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
			<maxHistory>30</maxHistory>
		</rollingPolicy>

		<encoder>
			<pattern>%-4relative %d{HH:mm:ss.SSS} - [%thread] %-5level %class - %msg%n</pattern>
		</encoder>

	</appender>

相对路径:
<property name="logDir" value="../../youcanfindme" />

	<appender name="FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">

		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${logDir}/logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
			<maxHistory>30</maxHistory>
		</rollingPolicy>

		<encoder>
			<pattern>%-4relative %d{HH:mm:ss.SSS} - [%thread] %-5level %class - %msg%n</pattern>
		</encoder>

	</appender>

这里的logback版本是最新的logback-1.0.4,老的版本好像配置相对路径是有问题的

猜你喜欢

转载自kyfxbl.iteye.com/blog/1550408