log4j 的日志文件在 System.getProperty("user.dir")


配置文件是用了一个 DailyRollingFileAppender,存放日志的路徑是 ./logs/tiny.log

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">


	<appender name="RollingFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="Threshold" value="debug" />
		<param name="File" value="./logs/tiny.log" />
		<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
		<param name="Append" value="true" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
		</layout>
	</appender>

	<root>
		<level value="debug" />
		<appender-ref ref="RollingFileAppender" />
	</root>


</log4j:configuration>

使用了 eclipse,当运行的是 Run As Java Application 时,可以找到日志文件就在项目目录中。

但当用 eclipse 运行外部的 tomcat,怎找也找不到日志文件,最後同事发现它的相对路径是相对于 

System.getProperty("user.dir");

的,发现用 eclipse 运行 tomcat 时该路径就是 eclipse 的目录,如 D:\Program\Java\eclipse。

而当打成 war 包放在 tomcat 上时,该路径就是 tomcat 的 bin 文件夾。如 D:\tomcat7\bin。




你可能感兴趣的:(log4j 的日志文件在 System.getProperty("user.dir"))