Lilith 0.9.41
This is an interim release because of a rather critical bug discovered by
Andy Goossens.
Webapps using a ClassicMultiplexSocketAppender would not
undeploy properly because of a dangling classloader.
I originally wanted to wait for Logback 0.9.29 due to the issues with 0.9.28
described in "Known Issues" below but I was unable to get any ETA for the
next release.
Changes
-
The NDC behavior has changed a bit since it does not inherit the NDC of the parent threads
anymore. This is actually a better behavior. Inheriting does not make much sense for an NDC - in
contrast to MDC where it is very helpful - since it resembles a contextual "stacktrace".
I never documented the previous behavior, anyway. Problem? ;)
-
Fixed two classloader-leak-issues that prevented proper unloading of webapps upon undeploy/redeploy.
-
The threads startet by the Lilith multiplex appenders did stop but I didn't bother to wait until
they finished doing so. This has been fixed now. All threads are destroyed before stop() returns.
-
I had an issue in the NDC implementation that was very comparable to the one that caused
LBCLASSIC-183.
I was putting an instance of a class loaded by the webapp classloader into a ThreadLocal.
I fixed this by using two ThreadLocals, a ThreadLocal<String> and a ThreadLocal<String[]>,
instead of my own class.
This issue was discovered and reported by Andy Goossens. Thank you very much!
(Ticket #96)
-
Minimize to system tray.
Added support for (optional, default is on) system tray icon. Double-clicking the icon hides/shows all
windows. The menu also contains a Quit action. If system tray icon is active (supported and enabled) then
closing the main frame does not exit the application. This will now hide all windows, instead.
This was requested by Adrien Sales and Joe.
(Ticket #91)
-
Implemented custom "Copy to clipboard" functionality using Groovy.
This was suggested by Joe.
-
Added support for cat/tail of Lilith AccessEvent files.
-
Better generation of message tooltip. Content is not tailed anymore.
-
Colors of logging level and access status type are now configurable.
(Ticket #5)
-
Importing gzipped java.util.logging or log4j xml is now supported.
-
Using JComboBox & CardLayout instead of JTabbedPane in Preferences Dialog.
-
"Go to Source" is now executed asynchronously.
Joe nagged me about this. ;)
(Ticket #12)
-
Detached windows were using the popup menu of the main frame.
They are now using the popup menu of the detached frame as originally intended.
This bug was found by Dimi.
(Ticket #95)
-
Added messagePattern.contains condition and "Copy message pattern" action. Using message pattern for filtering is faster
than using message.
-
Using
Mensch
font by @robey (Robey Pointer) as the monospace font of the HTML View.
-
HTML View is now anti-aliasing the fonts.
-
Logback 0.9.28
-
Groovy 1.8.0
-
AspectJ 1.6.10, Jackson 1.7.1, JCommander 1.17,
JGoodies Looks 2.2.2, commons-lang 2.6, commons-io 2.0.1,
httpclient 4.1, httpcore 4.1
Known Issues
-
The Logback error message on startup is caused by LBCLASSIC-246
introduced in 0.9.28 and will be fixed in Logback 0.9.29.
- cat and tail are currently still experimental features.
- Flying Saucer related issues:
- Lilith may hang during startup while creating the preferences dialog. Just restart Lilith in that rare case.
This is caused by bug #6995182
and I can't do anything about it.
Sorry about it. It's a stupid Java-MediaTracker-ColorChooser-Bug with no workaround available.
m(
Previous Versions