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