我已经解决的log4j的路径的问题。XML在Mac:
在windows我们配置log4j在web.xml中,如:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>file:${LOG4J_HOME}/conf/log4j.xml</param-value>
<!-- Above path is that where we have stored log4j.xml file externally -->
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
,其中$ {} LOG4J_HOME是我们用窗口来设置用户varible。像
用户变量= LOG4J_HOME 值= d:/ LOG4J(在d驱动我们已经创造名称Log4J的一个文件夹,我们复制的路径,给作为值)
在MAC我们已经envirenvirent变量集合fasility通过bash命令,但它没有工作了。
因此,对于mac我们必须创建一个文件夹任何地方,我们必须给该文件夹的静态路径。
像XML:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>file:/Users/vardhaman/Desktop/LOG4J/conf/log4j.xml</param-value>
<!-- Above path is that where we have stored log4j.xml file externally to get this path go up to the log4j.xml file in external device and right click select get info, where we will get path, copy that path -->
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
同样,我们在文件的log4j.xml
做在窗口我们用做这样:
<appender name="CLICK-SPRING" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${LOG4J_HOME}/logs/CLICK/CLICK-spring.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="DEBUG"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p [%t] %C{1}.%M(%L) | %m%n"/>
</layout>
</appender>
在Mac:
代替值我们必须将静态路径复制到文件夹LOG4J,或者您可以创建任何文件夹。
<appender name="CLICK-SPRING" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="Users/vardhaman/Desktop/LOG4J/logs/CLICK/CLICK-spring.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="DEBUG"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %p [%t] %C{1}.%M(%L) | %m%n"/>
</layout>
</appender>
请注意,您需要确保您对文件夹拥有适当的权限。 – Tomer 2012-07-26 12:17:32
$ {user.home}文件夹通常用于写入操作。该文件夹的目的是存储会话创建的用户特定文件。 – 2012-07-26 12:29:06
感谢您的回应,但是在此解决方案中,无论操作系统如何,日志文件的位置都是相同的。请参阅上面的编辑,以获得有关该问题的进一步说明。 – Poorav 2012-07-26 13:53:20