如何允许 console.log 在 JBOSS 上轮换 7

How to allow console.log's rotation on JBOSS 7

我的域设置有 2 个服务器。

我们在 /jboss/hc/console.log 中登录过多(此时不能降低级别),旋转没有帮助,因为重启后 Jboss 会继续写入同一个文件,即使它是更名。

会不会是"append"主题?(设置为true)

我在停止和启动期间检查了 lsof,当我这样做时没有进程使用该文件

mv console.log console.log.20180000X

然而在重新启动后 hc 服务 jboss 继续写入重命名的日志。

如何配置日志记录以便文件 console.log 正确轮换?

logrotate 的替代方法可能是 rotatelogs 或 cronolog。例如:

./standalone.sh 2>&1 | /usr/sbin/rotatelogs -l /path_to/console.log.%Y-%m-%d 86400 &

console.log 很可能是将 stdoutstderr 管道传输到文件的结果。可能还有另一个日志文件,例如$JBOSS_HOME/domain/logs/host-conroller.log 假设您使用的是包含相同信息的域服务器。我建议实际上删除控制台处理程序而不是尝试旋转 console.log.

域实例

要删除域服务器中的控制台处理程序,您需要从服务器中删除该处理程序:

/profile=full/subsystem=logging/root-logger=ROOT:remove-handler(name=CONSOLE)

请注意,您需要在每个正在使用的配置文件上执行该操作。

接下来您需要编辑 $JBOSS_HOME/domain/configuration/logging.properties 文件并从 logger.handlers 属性.

中删除 CONSOLE 处理程序

请注意,您也可以为 $JBOSS_HOME/domain/configuration/default-server-logging.properties 执行此操作。

独立实例

对于单机来说要容易得多。您只需要执行以下 CLI 命令。

/subsystem=logging/root-logger=ROOT:remove-handler(name=CONSOLE)

请注意,在这两种情况下,这都采用默认的日志记录配置。如果不是这种情况,您需要确保将某种其他处理程序附加到根记录器。