Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.0
-
None
Description
Every object that mixes in the Logging trait gets its own mutable vars for logWriter and logLevel, and if not set, shares a single global state in the LoggingDefaults object.
This is not thread safe. At minimum LoggingDefaults should be a ThreadLocal.
Furthermore, those objects don't need independent ability to specify a unique logger or logging level. They should be sharing a logger supplied by the application.