Logging
Add precise timing and exact code location to your logging data.
Last updated
Add precise timing and exact code location to your logging data.
Last updated
Built on Standard Java Logging Utilizes the built-in java.util.logging framework, part of Java SE. No additional external libraries, such as Apache Log4j, are required.
High Performance Capable of logging over 10,000 lines per second on a MacBook Pro when using the FileHandler and KLogLineFormatter.
Simplified Logging Streamlines logging with straightforward methods for debug, error, and info messages.
Static Methods All methods are static, eliminating the need for instantiation.
Flexible Handlers and Formatters Includes handlers and formatters for generating log output in various formats: tabular text, CSV, XML, JSON, and YAML. Supports sending logs to JDBC-compliant databases or routing error logs to any SMTP server.
Enhanced Log Details Provides precise timestamps and exact code locations in formatted log outputs.
Configuration and Runtime Adjustments Logging is enabled via the KLog.properties configuration file, which must be located in the current directory or set thru the startup parameter KLogPropertyFile. Logging levels can dynamically be adjusted and entries may be filtered at runtime.
The Java utility package uses KLog internally to assist with problem determination. Setting the log level to FINEST in the KLog.properties file enables detailed debugging mode, providing comprehensive insights during code execution.
The logging properties file enables and configures the logging framework used by all KLog
methods. Simply download, edit and and place it in the current directory of your application.
To override the default settings of KLog at runtime, the following Java system properties may be used:
-DKLogPropertyFile
"Klog.properties"
Path and file name of KLog properties file
-DKLogLevel
Set by the KLog properties file
Set the KLog level to "Info", "Error", "Debug" or "Off"
-DKLogInclude
Set by the KLog properties file
Limit log entries to specified RegEx match
-DKLogExclude
Set by the KLog properties file
Exclude log entries matching RegEx
Examples
Please note that all command line options are case sensitive.
In addition to the built-in handlers ConsoleHandler and FileHandler of the standard java.util.logging package, the following KLog handlers are provided:
KLogJDBCHandler: Send output to any JDBC compliant database
KLogSMTPHandler: Send errors (FATAL log level) to any SMTP server
These Logging handlers may require additional jar files (JDBC drivers or Jakarta/Angus Mail files)
The log information (timestamp, logging level, code location and message) are formatted with the formatter classes:
KLogCSVFormatter: Format each log entry as a one-line CSV string
KLogJSONFormatter: Format each log entry as a multi-line JSON string
KLogLineFormatter: Format each log entry as a one-line tabular string
KLogXMLFormatter: Format each log entry as a multi-line XML string
KLogYAMLFormatter: Format each log entry as a multi-line YAML string