Class DataflowWorkerLoggingOptions.WorkerLogLevelOverrides
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<java.lang.String,DataflowWorkerLoggingOptions.Level>
-
- org.apache.beam.runners.dataflow.options.DataflowWorkerLoggingOptions.WorkerLogLevelOverrides
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.util.Map<java.lang.String,DataflowWorkerLoggingOptions.Level>
- Enclosing interface:
- DataflowWorkerLoggingOptions
public static class DataflowWorkerLoggingOptions.WorkerLogLevelOverrides extends java.util.HashMap<java.lang.String,DataflowWorkerLoggingOptions.Level>
Defines a log level override for a specific class, package, or name.The Dataflow worker harness supports a logging hierarchy based off of names that are "." separated. It is a common pattern to have the logger for a given class share the same name as the class itself. Given the classes
a.b.c.Foo,a.b.c.Xyz, anda.b.Bar, with loggers named"a.b.c.Foo","a.b.c.Xyz", and"a.b.Bar"respectively, we can override the log levels:- for
Fooby specifying the name"a.b.c.Foo"or theClassrepresentinga.b.c.Foo. - for
Foo,Xyz, andBarby specifying the name"a.b"or thePackagerepresentinga.b. - for
FooandBarby specifying both of their names or classes.
System.outandSystem.errmessages are configured via loggers of the corresponding name. Note that by specifying multiple overrides, the exact name followed by the closest parent takes precedence.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description WorkerLogLevelOverrides()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DataflowWorkerLoggingOptions.WorkerLogLevelOverridesaddOverrideForClass(java.lang.Class<?> klass, DataflowWorkerLoggingOptions.Level level)Overrides the default log level for the passed in class.DataflowWorkerLoggingOptions.WorkerLogLevelOverridesaddOverrideForName(java.lang.String name, DataflowWorkerLoggingOptions.Level level)Overrides the default log level for the passed in name.DataflowWorkerLoggingOptions.WorkerLogLevelOverridesaddOverrideForPackage(java.lang.Package pkg, DataflowWorkerLoggingOptions.Level level)Overrides the default log level for the passed in package.static DataflowWorkerLoggingOptions.WorkerLogLevelOverridesfrom(java.util.Map<java.lang.String,java.lang.String> values)Expects a map keyed by loggerNames with values representingLevels.-
Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
-
-
-
Method Detail
-
addOverrideForClass
public DataflowWorkerLoggingOptions.WorkerLogLevelOverrides addOverrideForClass(java.lang.Class<?> klass, DataflowWorkerLoggingOptions.Level level)
Overrides the default log level for the passed in class.This is equivalent to calling
addOverrideForName(String, DataflowWorkerLoggingOptions.Level)and passing in theclass name.
-
addOverrideForPackage
public DataflowWorkerLoggingOptions.WorkerLogLevelOverrides addOverrideForPackage(java.lang.Package pkg, DataflowWorkerLoggingOptions.Level level)
Overrides the default log level for the passed in package.This is equivalent to calling
addOverrideForName(String, DataflowWorkerLoggingOptions.Level)and passing in thepackage name.
-
addOverrideForName
public DataflowWorkerLoggingOptions.WorkerLogLevelOverrides addOverrideForName(java.lang.String name, DataflowWorkerLoggingOptions.Level level)
Overrides the default log level for the passed in name.Note that because of the hierarchical nature of logger names, this will override the log level of all loggers that have the passed in name or a parent logger that has the passed in name.
-
from
public static DataflowWorkerLoggingOptions.WorkerLogLevelOverrides from(java.util.Map<java.lang.String,java.lang.String> values)
Expects a map keyed by loggerNames with values representingLevels. TheNamegenerally represents the fully qualified Javaclass name, or fully qualified Javapackage name, or custom logger name. TheLevelrepresents the log level and must be one ofDataflowWorkerLoggingOptions.Level.
-
-