Как я могу исправить свой профиль регистрации, чтобы вернуть правильные уровни журнала в правильном формате? - PullRequest
0 голосов
/ 05 июля 2018

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

  1. Настройка уровня ведения журнала, похоже, не влияет на то, что производят некоторые компоненты Я обновил свой MANIFEST.MF, добавив в него «профиль», и он, кажется, распознает это и публикует некоторые записи в файле журнала, но кажется, что он сильно зависит от корневого уровня в отличие от каждой категории. Определенный уровень журнала пакета не работает

  2. Некоторые записи возвращаются в одной строке, как мне разобраться? Кажется, я не могу найти что-либо в Интернете с такой же проблемой

10: 23: 18,047 INFO [стандартный вывод] (genericClass-20) 10: 23: 18,047 [genericClass-20] ОШИБКА org.hibernate.engine.jdbc.spi.SqlExceptionHelper - javax.resource.ResourceException: IJ000453: невозможно получить управление соединение для Java

Это то, что у меня есть в моем автономном режиме:

<logging-profiles>
    <logging-profile name="profile">
        <size-rotating-file-handler name="SIZE" autoflush="true">
            <file relative-to="jboss.server.log.dir" path="profile.log"/>
            <rotate-size value="30m"/>
            <max-backup-index value="99"/>
            <append value="true"/>
        </size-rotating-file-handler>
        <logger category="com.myproject" use-parent-handlers="false">
            <level name="DEBUG"/>
                <handlers>
                    <handler name="SIZE"/>
                </handlers>
            </logger>
        <logger category="org.apache" use-parent-handlers="false">
            <level name="INFO"/>
            <handlers>
                <handler name="SIZE"/>
            </handlers>
        </logger>
        <logger category="org.hibernate" use-parent-handlers="false">
            <level name="INFO"/>
            <handlers>
                <handler name="SIZE"/>
            </handlers>
        </logger>
        <logger category="org.springframework" use-parent-handlers="false">
            <level name="INFO"/>
            <handlers>
                <handler name="SIZE"/>
            </handlers>
        </logger>
        <root-logger>
            <level name="INFO"/>
            <handlers>
                <handler name="SIZE"/>
            </handlers>
        </root-logger>
    </logging-profile>
</logging-profiles>

1 Ответ

0 голосов
/ 06 июля 2018

Глядя на свою конфигурацию, вы должны хотя бы получить журналы com.myproject в своем файле profile.log. Скорее всего, вы не получите никаких журналов org.hibernate в этом файле, так как любые глобальные модули всегда будут зарегистрированы в конфигурации системного журнала по умолчанию.

В конце концов, я не думаю, что вам нужен профиль входа, чтобы это заработало. Вам потребуется только определить size-rotating-file-handler и ваш com.myproject обработчик в подсистеме ведения журнала. Ниже приведены команды консоли, которые вы хотите использовать для настройки подсистемы ведения журнала

/subsystem=logging/size-rotating-file-handler=SIZE:add(autoflush=true, append=true, rotate-size="30m", max-backup-index=99, file={relative-to="jboss.server.log.dir", path="profile.log"})
/subsystem=logging/logger=com.myproject:add(level=DEBUG)
/subsystem=logging/root-logger=ROOT:add-handler(name=SIZE)

С учетом конфигурации по умолчанию вместе с этими командами все сообщения будут записываться в консоль и обработчик файлов по умолчанию, а также в обработчик SIZE. И обработчик файлов по умолчанию, и ваш SIZE обработчик будут получать отладочные сообщения от com.myproject.

...