Конфигурация журнала внутренних событий hsqldb - PullRequest
3 голосов
/ 23 ноября 2010

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

log4j:WARN No appenders could be found for logger (HSQLDB2C7984E18B.org.hsqldb.persist.Logger).
log4j:WARN Please initialize the log4j system properly.

Документация говорит мне, что log4j не единственный вариант, но он не говорит мне, как настроить мойприложение.Кто-нибудь может указать мне на эту документацию?Помните, я не хочу использовать log4j для hsqldb.

Следует упомянуть, что сторонний jar, на который я ссылаюсь, требует log4j.Hsqldb автоматически обнаруживает присутствие log4j и затем пытается его использовать?Или я упускаю что-то фундаментальное о том, как работает логирование?

Ответы [ 3 ]

1 голос
/ 23 ноября 2010

Проверить эту ссылку .В нем сообщается

Средство ведения журнала переключается на Log4j, если Log4j найден в пути к классам, и в противном случае передается на java.util.logging.

0 голосов
/ 03 декабря 2010

Поскольку, как заметил YWE, hsqldb по умолчанию использует log4j, если он найден в пути к классам, мне нужно было выяснить, как переопределить свойства log4j.pro, найденные в сторонней библиотеке. Это мне удалось сделать следующим образом:

  1. Скопируйте существующие log4j.properties в мой проект и добавьте следующую строку в начале:

    log4j.rootLogger=WARN, CONSOLE
    
  2. Добавить следующие аргументы VM:

    -Dlog4j.log4j.defaultInitOverride=true
    -Dlog4j.configuration=C:/full/path/to/my/log4j.properties
    
  3. Убедитесь, что эта строка кода выполняется, прежде чем кто-либо (например, hsqldb) попытается использовать log4j:

    org.apache.log4j.PropertyConfigurator.configure("log4j.properties");
    
0 голосов
/ 24 ноября 2010

Следствием того, что указывает сообщение, является то, что регистрация HSQLDB не будет вестись, так как не найдены никакие дополнения.

Если вы хотите подавить сообщение, добавьте строку, подобную приведенной ниже, в файл log4j.properties:

log4j.logger.HSQLDB2C7984E18B.org.hsqldb.persist.Logger=FATAL

Это будет регистрировать только ФАТАЛЬНЫЕ события, которые не произошли бы при нормальной работе.

Вы также заявляете, что не хотите использовать log4j для HSQLDB. Компоненты программного обеспечения, которые могут использовать log4j, оставляют конфигурацию ведения журнала (включая уровень и место ведения журнала и т. Д.) Для параметров свойств log4j, которые можно редактировать и настраивать.

В этом случае имя регистратора основывается на «уникальном» имени базы данных, которое изначально генерируется автоматически, но которое вы можете изменить в HSQLDB.

...