У меня есть установка домена с 2 серверами.

У нас слишком много журналов в /jboss/hc/console.log (понижение уровня на данный момент не вариант), ротация не помогает, так как после перезапуска Jboss продолжает писать в тот же файл, даже если он переименован.

Может быть, это тема "добавить"? (Установлено значение true)

У меня есть проверка с помощью lsof во время остановки и запуска, и при этом нет процесса, использующего файл

mv console.log console.log.20180000X

Тем не менее, после запуска jboss службы hc продолжает писать в переименованном журнале.

Как мне настроить ведение журнала, чтобы файл console.log вращался правильно?

0
Alexander Meise 19 Дек 2018 в 13:43

2 ответа

Лучший ответ

Скорее всего, console.log является результатом передачи stdout и stderr в файл. Вероятно, существует другой файл журнала, например $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 и удалить обработчик CONSOLE из свойства logger.handlers.

Обратите внимание, что вы также можете сделать это для $JBOSS_HOME/domain/configuration/default-server-logging.properties.

Автономный экземпляр

В автономном режиме это намного проще. Вам просто нужно выполнить следующую команду CLI.

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

Обратите внимание, что в обоих случаях предполагается конфигурация ведения журнала по умолчанию. Если это не так, вам нужно убедиться, что к корневому регистратору подключен какой-то другой обработчик.

1
James R. Perkins 19 Дек 2018 в 18:27

Альтернативой logrotate может быть rotatelogs или cronolog. например:

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

1
user3445017 19 Дек 2018 в 12:56