我已經解決的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