1. 程式人生 > >logback配置日誌檔案位置

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,老的版本好像配置相對路徑是有問題的