Class TimestampResolver
- java.lang.Object
-
- org.apache.logging.log4j.layout.template.json.resolver.TimestampResolver
-
- All Implemented Interfaces:
EventResolver,TemplateResolver<LogEvent>
public final class TimestampResolver extends java.lang.Object implements EventResolver
Timestamp resolver.Configuration
config = [ patternConfig | epochConfig ] patternConfig = "pattern" -> ( [ format ] , [ timeZone ] , [ locale ] ) format = "format" -> string timeZone = "timeZone" -> string locale = "locale" -> ( language | ( language , "_" , country ) | ( language , "_" , country , "_" , variant ) ) epochConfig = "epoch" -> ( unit , [ rounded ] ) unit = "unit" -> ( "nanos" | "millis" | "secs" | "millis.nanos" | "secs.nanos" | ) rounded = "rounded" -> booleanIf no configuration options are provided, pattern-config is employed. ThereJsonTemplateLayoutDefaults.getTimestampFormatPattern(),JsonTemplateLayoutDefaults.getTimeZone(),JsonTemplateLayoutDefaults.getLocale()are used as defaults for pattern, timeZone, and locale, respectively. In epoch-config, millis.nanos, secs.nanos stand for the fractional component in nanoseconds.Examples
Configuration Output { "$resolver": "timestamp" }2020-02-07T13:38:47.098+02:00{ "$resolver": "timestamp", "pattern": { "format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "timeZone": "UTC", "locale": "en_US" } }2020-02-07T13:38:47.098Z{ "$resolver": "timestamp", "epoch": { "unit": "secs" } }1581082727.982123456{ "$resolver": "timestamp", "epoch": { "unit": "secs", "rounded": true } }1581082727{ "$resolver": "timestamp", "epoch": { "unit": "secs.nanos" } }982123456{ "$resolver": "timestamp", "epoch": { "unit": "millis" } }1581082727982.123456{ "$resolver": "timestamp", "epoch": { "unit": "millis", "rounded": true } }1581082727982{ "$resolver": "timestamp", "epoch": { "unit": "millis.nanos" } }123456{ "$resolver": "timestamp", "epoch": { "unit": "nanos" } }1581082727982123456
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classTimestampResolver.EpochResolutionRecordprivate static classTimestampResolver.EpochResolverprivate static classTimestampResolver.PatternResolverprivate static classTimestampResolver.PatternResolverContext
-
Field Summary
Fields Modifier and Type Field Description private static EventResolverEPOCH_MILLIS_NANOS_RESOLVERprivate static EventResolverEPOCH_MILLIS_RESOLVERprivate static EventResolverEPOCH_MILLIS_ROUNDED_RESOLVERprivate static EventResolverEPOCH_NANOS_RESOLVERprivate static EventResolverEPOCH_SECS_NANOS_RESOLVERprivate static EventResolverEPOCH_SECS_RESOLVERprivate static EventResolverEPOCH_SECS_ROUNDED_RESOLVERprivate EventResolverinternalResolver
-
Constructor Summary
Constructors Constructor Description TimestampResolver(TemplateResolverConfig config)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static EventResolvercreateEpochResolver(TemplateResolverConfig config)private static EventResolvercreatePatternResolver(TemplateResolverConfig config)private static EventResolvercreateResolver(TemplateResolverConfig config)private static longepochNanos(Instant instant)(package private) static java.lang.StringgetName()voidresolve(LogEvent logEvent, JsonWriter jsonWriter)Resolves the givenvalueusing the providedJsonWriter.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.logging.log4j.layout.template.json.resolver.TemplateResolver
isFlattening, isResolvable, isResolvable, resolve
-
-
-
-
Field Detail
-
internalResolver
private final EventResolver internalResolver
-
EPOCH_NANOS_RESOLVER
private static final EventResolver EPOCH_NANOS_RESOLVER
-
EPOCH_MILLIS_RESOLVER
private static final EventResolver EPOCH_MILLIS_RESOLVER
-
EPOCH_MILLIS_ROUNDED_RESOLVER
private static final EventResolver EPOCH_MILLIS_ROUNDED_RESOLVER
-
EPOCH_MILLIS_NANOS_RESOLVER
private static final EventResolver EPOCH_MILLIS_NANOS_RESOLVER
-
EPOCH_SECS_RESOLVER
private static final EventResolver EPOCH_SECS_RESOLVER
-
EPOCH_SECS_ROUNDED_RESOLVER
private static final EventResolver EPOCH_SECS_ROUNDED_RESOLVER
-
EPOCH_SECS_NANOS_RESOLVER
private static final EventResolver EPOCH_SECS_NANOS_RESOLVER
-
-
Constructor Detail
-
TimestampResolver
TimestampResolver(TemplateResolverConfig config)
-
-
Method Detail
-
createResolver
private static EventResolver createResolver(TemplateResolverConfig config)
-
createPatternResolver
private static EventResolver createPatternResolver(TemplateResolverConfig config)
-
createEpochResolver
private static EventResolver createEpochResolver(TemplateResolverConfig config)
-
epochNanos
private static long epochNanos(Instant instant)
-
getName
static java.lang.String getName()
-
resolve
public void resolve(LogEvent logEvent, JsonWriter jsonWriter)
Description copied from interface:TemplateResolverResolves the givenvalueusing the providedJsonWriter.- Specified by:
resolvein interfaceTemplateResolver<LogEvent>
-
-