Delight Log is a minimal implementation for asynchronous logging in Java.
Why: To provide a logging implementation works well in multi-threaded environments with minimal performance impact.
What Not: This library is very feature-poor by design to keep it maintainable and portable.
This project is part of Java Delight.
All logs are held in a log repository which can be created as follows.
PropertyNode logs = Logs.create();Note: Before the application terminates the log repository should always be finalized as follows to ascertain that the thread used by the logging node is released.
logs.stop().get();The following will log a number of simple Strings.
logs.record(Logs.string("log1", "entry 1"));
logs.record(Logs.string("log1", "entry 2"));The entries written in the previous example can be retrieved as follows:
String log1 = logs.retrieve("log1", StringLog.class).get().toString();
System.out.println(log1);This results in an output as follows:
[
'entry1',
'entry1'
]
By default individual logs are limited to 40 items. If this limit is reached, the oldest values will be purged.
A custom limit can be set by passing an integer to the logs constructor method:
PropertyNode limitedLog = Logs.create(20);<dependency>
<groupId>org.javadelight</groupId>
<artifactId>delight-log</artifactId>
<version>[latest version]</version>
</dependency>Find latest version here.
Add repository if required:
<repositories>
<repository>
<id>Appjangle Releases</id>
<url>http://maven.appjangle.com/appjangle/releases</url>
</repository>
</repositories>This project is compatible with the following environments:
- Java 1.6+
- GWT 2.5.0+
- Android (any)
- OSGi (any)