Class SdkHarnessOptions.SdkHarnessLogLevelOverrides
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<String,
SdkHarnessOptions.LogLevel>
- Enclosing interface:
SdkHarnessOptions
The SDK 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
, and a.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
Foo
by specifying the name"a.b.c.Foo"
or theClass
representinga.b.c.Foo
. - for
Foo
,Xyz
, andBar
by specifying the name"a.b"
or thePackage
representinga.b
. - for
Foo
andBar
by specifying both of their names or classes.
System.out
and System.err
messages 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:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddOverrideForClass
(Class<?> klass, SdkHarnessOptions.LogLevel logLevel) Overrides the default log level for the passed in class.addOverrideForName
(String name, SdkHarnessOptions.LogLevel logLevel) Overrides the default log logLevel for the passed in name.addOverrideForPackage
(Package pkg, SdkHarnessOptions.LogLevel logLevel) Overrides the default log level for the passed in package.Expects a map keyed by loggerName
s with values representingLogLevel
s.Methods inherited from class java.util.HashMap
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, newHashMap, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
-
Constructor Details
-
SdkHarnessLogLevelOverrides
public SdkHarnessLogLevelOverrides()
-
-
Method Details
-
addOverrideForClass
public SdkHarnessOptions.SdkHarnessLogLevelOverrides addOverrideForClass(Class<?> klass, SdkHarnessOptions.LogLevel logLevel) Overrides the default log level for the passed in class.This is equivalent to calling
addOverrideForName(String, LogLevel)
and passing in theclass name
. -
addOverrideForPackage
public SdkHarnessOptions.SdkHarnessLogLevelOverrides addOverrideForPackage(Package pkg, SdkHarnessOptions.LogLevel logLevel) Overrides the default log level for the passed in package.This is equivalent to calling
addOverrideForName(String, LogLevel)
and passing in thepackage name
. -
addOverrideForName
public SdkHarnessOptions.SdkHarnessLogLevelOverrides addOverrideForName(String name, SdkHarnessOptions.LogLevel logLevel) Overrides the default log logLevel for the passed in name.Note that because of the hierarchical nature of logger names, this will override the log logLevel of all loggers that have the passed in name or a parent logger that has the passed in name.
-
from
Expects a map keyed by loggerName
s with values representingLogLevel
s. TheName
generally represents the fully qualified Javaclass name
, or fully qualified Javapackage name
, or custom logger name. TheLogLevel
represents the log level and must be one ofSdkHarnessOptions.LogLevel
.
-