Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Post-Helium
-
None
-
None
-
Operating System: All
Platform: All
-
2669
-
Normal
Description
The Shard and raft code uses akka's LoggingAdapter. There's a couple downsides to this:
- Enabling debug for the Shard class in the pax logging cfg file (log4j.logger...=DEBUG) does not work. I also tried setting logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" in the akka.conf. It appears that akka logging does not support enabling debug per class/package. You can only enable debug globally in the akka.conf which produces a lot of output.
- It's not desirable for usability to have multiple mechanisms to enable debug. In addition, modifying logging options in the akka.conf would require a controller restart whereas changes to the pax logging cfg file are dynamic.
- In the pax logging cfg file, if you configure the ConversionPattern to include line numbers (%L), since akka uses a separate logging actor, that actor's line # is logged which isn;t useful.
The reason for initially using akka's logging was because it's asynchronous (logging is done by a separate actor). However logging in karaf is done asynchronously via an OSGi service.
Therefore the usage of akka's LoggingAdapter will be changed to the standard slf4j Logger.