java - JBoss中如何清除server.log?

标签 java linux jboss log4j logfiles

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

echo 1 > server.log

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

附言我不需要该文件有 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)。

关于java - JBoss中如何清除server.log?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4603394/

相关文章:

python - 为什么我不能使用OPENCV VideoCapture从正面平板相机读取视频流?

c++ - 减少 Linux 上的核心转储大小

java - jsp 编译器的奇怪行为

java - JBoss Drools 检查一次条件

java - 该方法不适用于参数

java.lang.NoClassDefFoundError : org/json/simple/JSONObject running outside of Netbeans IDE 错误

linux - 我可以使用具有退出状态的命令替换,而不是标准输出吗?

java - 从 JSESSIONID 中删除服务器名称

java - 即使元素存在,HashMap.get()也会返回null

java - 使用 IP 多播发现正在运行的 ActiveMQ 消息代理