當JBoss運行時運行時,如何清除JBoss的server.log文件?當我嘗試做如何在JBoss中清除server.log?
echo 1 > server.log
我得到錯誤味精的文件正被另一個程序(JBoss的)使用。是否可以使用命令行工具(windows或linux(我確實有CygWin))或我可以自己寫清除該文件的應用程序?
P.S.我不需要該文件有0kb,但我希望它有小於100MB。
當JBoss運行時運行時,如何清除JBoss的server.log文件?當我嘗試做如何在JBoss中清除server.log?
echo 1 > server.log
我得到錯誤味精的文件正被另一個程序(JBoss的)使用。是否可以使用命令行工具(windows或linux(我確實有CygWin))或我可以自己寫清除該文件的應用程序?
P.S.我不需要該文件有0kb,但我希望它有小於100MB。
默認情況下,JBoss保持文件鎖定,因爲它正在寫入日誌消息。只要JBoss正在運行,它就會被鎖定,我不知道有其他方式來釋放它,而不是阻止JBoss本身。
爲了保持它的大小在控制之下,您可以修改您的日誌配置,默認爲<server>/conf˛jboss-log4j.xml
。您可以指定日誌文件的最大大小,並定義在達到該大小時應執行的操作:轉到新文件,截斷現有文件並再次開始寫入該文件等。
一個基本示例(沒有測試過,所以不能保證它的工作原理直接,因爲它是):
<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
...
<param name="maxFileSize" value="100MB" />
...
</appender>
而且,隨着maxBackupIndex
參數,您可以定義的備份文件數(默認爲1)。
只要日誌進程正在運行,JBoss就會鎖定文件。
如果啓用了JMX控制檯,則可以停止日誌記錄,刪除/修改日誌並再次啓動日誌記錄服務。
的URL看起來應該像這樣(爲log4j的):
我測試了與JBoss 5
這個解決方案應該是編寫腳本也是如此。
關於您的日誌文件大小問題:您應該使用配置方法而不是手動編輯日誌文件。