Log4j
Вы можете использовать java.util.logging или Log4j с DataNucleus. Я собираюсь рассказать о конфигурации Log4j.
log4j.properties
# Define the destination and format of our logging
log4j.rootCategory=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n
# DataNucleus Categories
log4j.category.DataNucleus=ALL
Последняя строка назначает порог уровня для INFO или ALL, чтобы увидеть все журналы DataNucleus. DataNucleus использует серию категорий и регистрирует все сообщения в этих категориях. Смотрите здесь для более подробной информации. Вам, вероятно, нужно
log4j.category.DataNucleus.Query
- Все сообщения, относящиеся к запросам
log4j.category.DataNucleus.Datastore
- Все общие сообщения хранилища данных
или
log4j.category.DataNucleus.JDO
- Все общие сообщения для JDO
log4j.category.DataNucleus
является корнем всех категорий журналов DataNucleus.
Добавьте log4j к вашему CLASSPATH. Я использую Gradle для управления зависимостями, поэтому вот мой скрипт сборки:
build.gradle
configurations {
all*.exclude group: "commons-logging", module: "commons-logging"
}
dependencies {
// Logging
compile 'org.slf4j:slf4j-api:1.7.+'
runtime 'org.slf4j:slf4j-jdk14:1.7.+'
runtime ('log4j:log4j:1.2.17') {
exclude group: "com.sun.jdmk", module: "jmxtools"
exclude group: "com.sun.jmx", module: "jmxri"
exclude group: "javax.mail", module: "mail"
exclude group: "javax.jms", module: "jms"
}
}
Чтобы предоставить файл конфигурации Log4J при запуске приложения, установите параметр JVM как
-Dlog4j.configuration=file:log4j.properties
Это может быть сделано для вас, если вы работаете на сервере приложений JavaEE. Или, если вы используете Spring WebMVC, поместите log4j.properties в WEB-INF и добавьте следующий слушатель в дескриптор развертывания.
web.xml
<!-- The definition of the Log4j Configuration -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>