Hi,
I'm trying to use this component – aware that it is in early dev stages but with the intention of contributing back fixes.
For example I have made some changes to allow handling of date patterns with a timezone e..g
%d{yyyy-MM-dd HH:mm:ss.SSS,UTC}
I have also added parsers for %thread and %logger.
I'm coming unstuck with a few types of pattern e.g.
%d{yyyy-MM-dd HH:mm:ss.SSS %-5logger %msg
Will parse
"2013-06-07 10:00:00.999 ERROR rest of my log message"
But will fail to parse
"2013-06-07 10:00:00.999 INFO rest of my log message"
(reducing the two spaces after INFO to one makes it parseable)
And also anything like %logger{0} seems to confuse matching no end. IN debug mode it looks like the date pattern is considered to be the whole pattern and it fails to see the } at the end of %d{….}:
08:46:01.510 [main] DEBUG ch.qos.logback.decoder.Decoder - date = 2013-06-07 05:03:28.853
08:46:01.514 [main] ERROR ch.qos.logback.decoder.DateParser - java.lang.IllegalArgumentException: Illegal pattern character 'U'
08:46:01.514 [main] DEBUG ch.qos.logback.decoder.Decoder - level = INFO
08:46:01.515 [main] DEBUG ch.qos.logback.decoder.Decoder - BUG!! Saw a field name that did not match the pattern info's name! (index=1 expected=level actual=message)
08:46:01.515 [main] DEBUG ch.qos.logback.decoder.Decoder - thread = main
08:46:01.515 [main] DEBUG ch.qos.logback.decoder.Decoder - BUG!! Saw a field name that did not match the pattern info's name! (index=2 expected=thread actual=n)
08:46:01.516 [main] DEBUG ch.qos.logback.decoder.Decoder - logger = KdbFxFeedhandlerApp
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
at java.util.LinkedList.checkElementIndex(LinkedList.java:553)
at java.util.LinkedList.get(LinkedList.java:474)
:
Remove the {0} from the end of logger and it all works.
Can anyone advise on how these last two could be fixed?
Also is logback-decoder abandoned or just waiting for volunteers?
If its abandoned are there any alternatives?
Regards,
Michael