如何在JBoss中清除server.log?

IAd*_*ter 5 java linux jboss log4j logfiles

JBoss运行时如何清除JBoss的server.log文件?当我尝试做的时候

echo 1 > server.log
Run Code Online (Sandbox Code Playgroud)

我收到错误消息,该文件正由另一个程序(JBoss)使用.是否可以使用命令行工具(windowslinux(我有CygWin))或我可以自己编写的应用程序来清除该文件?

PS我不需要该文件有0kb,但我希望它少于100MB.

Pét*_*rök 3

默认情况下,JBoss 保持文件锁定,因为它正在向其中写入日志消息。只要 JBoss 正在运行,它就会被锁定,除了停止 JBoss 本身之外,我不知道还有其他方法可以释放它。

\n\n

要控制其大小,您可以修改日志配置,默认情况下为<server>/conf\xcb\x9bjboss-log4j.xml. 您可以指定日志文件的最大大小,并定义达到该大小时要执行的操作:滚动到新文件、截断现有文件并重新开始写入等。

\n\n

一个基本示例(未经测试,因此不能保证它可以正常工作):

\n\n
    <appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">\n            ...\n            <param name="maxFileSize" value="100MB" />\n            ...\n    </appender>\n
Run Code Online (Sandbox Code Playgroud)\n\n

此外,maxBackupIndex您可以使用参数定义备份文件的数量(默认为1)。

\n