Как изменить директорию логирования Jboss

Вопрос или проблема

Я использую jboss-as 7.2. Я пытаюсь настроить все файлы журналов так, чтобы они попадали в /var/log/jboss-as, но только консольный лог попадает туда. Я использую скрипт init.d, предоставленный с пакетом, и он вызывает standalone.sh. Я пытаюсь избежать изменения скриптов запуска.

Я пробовал добавить JAVA_OPTS=”-Djboss.server.log.dir=/var/log/jboss-as” в мой файл /etc/jboss-as/jboss-as.conf, но скрипт init.d не передает JAVA_OPTS в standalone.sh, когда его вызывает.

В документации также говорится, что я должен быть в состоянии указать путь через XML с помощью следующей строки в standalone.xml:

<path name="jboss.server.log.dir" path="/var/log/jboss-as"/>

Однако не указано, куда в файле это вставить. В каждом месте, где я пытаюсь это вставить, JBoss выдает ошибку при запуске, говоря, что он не может правильно обработать файл standalone.xml.

Вы можете указать путь к вашим файлам журналов через файл standalone.sh. Если вы посмотрите на подсистему org.jboss.as.logging, вы увидите конфигурацию там.

Ответ или решение

Чтобы изменить директорию для логирования в JBoss AS 7.2, вам нужно внести изменения в конфигурацию самой системы. Рассмотрим несколько методов, которые помогут вам решить эту задачу, без необходимости редактировать стартовые скрипты.

Изменение директории логирования через standalone.xml

  1. Откройте файл standalone.xml:
    Этот файл находится в каталоге конфигурации JBoss, обычно по пути:

    /path/to/jboss-as/standalone/configuration/standalone.xml

    Замените /path/to/jboss-as/ на фактический путь к вашей установке JBoss.

  2. Найдите подсистему logging:
    Внутри файла standalone.xml найдите секцию, которая начинается с:

    <subsystem xmlns="urn:jboss:domain:logging:1.1">
  3. Добавьте или измените путь для логов:
    Внутри <subsystem> можно добавить элемент <path>:

    <extensions>
       ...
    </extensions>
    <subsystem xmlns="urn:jboss:domain:logging:1.1">
       <console-handler name="CONSOLE">
           ...
       </console-handler>
       <periodic-rotating-file-handler name="FILE" autoflush="true">
           <formatter>
               <named-formatter name="PATTERN"/>
           </formatter>
           <file name="jboss.server.log.dir" path="/var/log/jboss-as/server.log"/>
           ...
       </periodic-rotating-file-handler>
       ...
       <path name="jboss.server.log.dir" path="/var/log/jboss-as"/>
    </subsystem>

    Убедитесь, что вы добавили / изменили этот элемент внутри уже существующей секции <subsystem>. Если файл не позволяет сохранить изменения и при перезапуске JBoss выдает ошибку, проверьте правильность XML-синтаксиса (закрывающие теги, вложенность и т.д.).

  4. Перезапустите JBoss:
    После внесения изменений перезапустите сервер JBoss, чтобы нововведения вступили в силу.

Изменение с помощью JAVA_OPTS

Как вы уже отметили, переменная окружения JAVA_OPTS в jboss-as.conf не передается в standalone.sh. Однако, возможно, вы сможете воспользоваться следующим способом:

  1. Редактируйте скрипт инициализации (если это возможно):
    Если у вас есть возможность изменить инициализационный скрипт, попробуйте добавить следующую строку:

    JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=/var/log/jboss-as"

    Это позволит JBoss использовать заданный вами путь.

  2. Проверьте права доступа к директории:
    Убедитесь, что пользователь, под которым запускается JBoss, имеет необходимые права доступа к /var/log/jboss-as. Если нет, выполните команду:

    sudo chown -R jboss:jboss /var/log/jboss-as

    Замените jboss:jboss на правильную учетную запись пользователя, под которой работает ваш сервер JBoss.

Заключение

Настройка логирования в JBoss AS 7.2 может быть выполнена несколькими способами, однако изменение конфигурационного файла standalone.xml является наиболее рекомендуемым вариантом. Это позволяет легче поддерживать и управлять настройками в будущем. Если вы столкнетесь с проблемами на этапе редактирования XML-файла, всегда проверьте синтаксис и соответствие структуре. Успешной настройки!

Оцените материал
Добавить комментарий

Капча загружается...