Logging in DeltaNova
Logging helps the DeltaXML support team diagnose problems that are otherwise hard to reproduce. By default, users do not need to change their workflow — existing product behaviour is unaffected. The java.util.logging API is used; no additional jars are required.
Loggers
Loggers are grouped by area of functionality using dot-separated hierarchical naming:
|
Logger Name |
Covers |
|---|---|
|
|
Internal entity resolution, URI resolution, delegation to catalog systems and user-provided resolvers. |
Log Levels
Figure — java.util.logging levels from ALL (most verbose) to OFF, with DeltaXML usage guidance
|
Level |
DeltaXML Usage |
|---|---|
|
|
Unexpected events — default JRE level. |
|
|
API and pipeline configuration details. |
|
|
Per-filter, per-pipeline, per-comparison-type information. |
|
|
Per-event logging (e.g., each entity resolution or external URL fetch). |
|
|
Very fine-grained events, e.g., when a specific element is found in input. |
|
|
Recoverable issues. |
|
|
Errors that may prevent correct results. |
|
|
No logging (default unless configured otherwise). |
|
|
Everything. |
Configuring DeltaNova Logging
Before You Begin
-
Familiarity with
java.util.loggingis recommended for server environments -
Write access to a location where a
logging.propertiesfile can be created -
The path to your DeltaNova
command.jarinstallation
Procedure — Command Line
-
Create a
logging.propertiesfile containing the desired handler and level configuration:handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.level = ALL java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter com.deltaxml.logging.resolver.level = FINER -
Pass the file path to the JVM via
-Djava.util.logging.config.filewhen invoking the product:Bashjava -Djava.util.logging.config.file=/path/to/logging.properties \ -Dxml.catalog.files=/path/to/catalog.xml \ -jar command.jar compare diffreport input-a.xml input-b.xml result.xml -
Review the console output for log messages at the configured level and above.
Alternative Configuration Methods
-
Add
logging.propertiesto the JVM classpath. -
Edit the JRE's default
logging.propertiesfile (affects all Java applications on the system). -
Programmatically configure handlers and levels in Java code.
Server Environments
-
Apache Tomcat: http://tomcat.apache.org/tomcat-6.0-doc/logging.html
-
Bridge to log4j / SLF4J: http://www.slf4j.org/legacy.html
If your application server does not support java.util.logging and only supports log4j, use the jul-to-slf4j bridge to route logging through your existing infrastructure. The performance overhead of the bridge is not expected to cause issues for DeltaXML's logging use.
For further configuration guidance: http://tutorials.jenkov.com/java-logging/configuration.html.