【问题标题】:How to clear server.log in JBoss?如何清除 JBoss 中的 server.log?
【发布时间】:2011-06-03 22:55:17
【问题描述】:

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

echo 1 > server.log

我收到错误消息提示 文件正在被另一个程序(JBoss)使用。是否可以使用命令行工具(windowslinux(我有 CygWin))或我可以自己编写的应用程序清除那个文件?

附:我不需要那个文件有 0kb,但我希望它有 小于 100MB

【问题讨论】:

    标签: java linux jboss log4j logfiles


    【解决方案1】:

    只要日志记录进程正在运行,JBoss 就会锁定文件。

    如果您启用了 JMX 控制台,您可以停止日志记录、删除/修改日志并重新启动日志记录服务。

    url 应该是这样的(对于 log4j):

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

    我用 JBoss 5 对此进行了测试。

    这个解决方案也应该是可编写脚本的。

    关于您的日志文件大小问题:您应该使用配置方法而不是手动编辑日志文件。

    【讨论】:

      【解决方案2】:

      默认情况下,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)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-04
        • 2011-07-11
        • 2012-07-22
        • 2012-03-02
        • 1970-01-01
        • 1970-01-01
        • 2017-05-16
        • 2011-08-15
        相关资源
        最近更新 更多