- All Implemented Interfaces:
- ch.qos.logback.core.spi.ContextAware, ch.qos.logback.core.spi.PropertyDefiner
public class WorkerIdDefiner
extends ch.qos.logback.core.PropertyDefinerBase
A class that allows the logging framework to access the worker ID; with a custom logback config
this can be used to print the machine ID with each log message. This is useful if you have multiple
workers logging to the same log aggregation service.
This does seem like it should be a static class of AnalystWorker, but AnalystWorker needs this
class loaded to initialize its logger which is a static field, so it would have to be at the top
of the file, above the logger definition, which is ugly and confusing so we leave it as its own
bona fide class.
It would seem that Mapped Diagnostic Contexts would be ideal for this purpose, but they are
thread-scoped, and computation takes place in multiple threads; we need this to be JVM-scoped.