簡體   English   中英

如何在JBoss中清除server.log?

[英]How to clear server.log in JBoss?

JBoss運行時如何清除JBoss的server.log文件? 當我嘗試做的時候

echo 1 > server.log

我收到錯誤消息,該文件正由另一個程序(JBoss)使用。 是否可以使用命令行工具( windowslinux (我有CygWin ))或我可以自己編寫的應用程序來清除該文件?

PS我不需要該文件有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控制台,則可以停止日志記錄,刪除/修改日志,然后再次啟動日志記錄服務。

網址應該看起來像這樣(對於log4j):

http://jboss.example.com:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Atype%3DLog4jService%2Cservice%3DLogging

我用JBoss 5進行了測試。

此解決方案也應該是可編寫腳本的。

關於日志文件大小問題:您應該使用配置方法而不是手動編輯日志文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM