All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.analyst.cluster.WorkerIdDefiner Maven / Gradle / Ivy

There is a newer version: 2.6.0
Show newest version
package org.opentripplanner.analyst.cluster;

import 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.
 */
public class WorkerIdDefiner extends PropertyDefinerBase {
    @Override public String getPropertyValue() {
        return AnalystWorker.machineId;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy