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" -> boolean
If 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 class
TimestampResolver.EpochResolutionRecord
private static class
TimestampResolver.EpochResolver
private static class
TimestampResolver.PatternResolver
private static class
TimestampResolver.PatternResolverContext
-
Field Summary
Fields Modifier and Type Field Description private static EventResolver
EPOCH_MILLIS_NANOS_RESOLVER
private static EventResolver
EPOCH_MILLIS_RESOLVER
private static EventResolver
EPOCH_MILLIS_ROUNDED_RESOLVER
private static EventResolver
EPOCH_NANOS_RESOLVER
private static EventResolver
EPOCH_SECS_NANOS_RESOLVER
private static EventResolver
EPOCH_SECS_RESOLVER
private static EventResolver
EPOCH_SECS_ROUNDED_RESOLVER
private EventResolver
internalResolver
-
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 EventResolver
createEpochResolver(TemplateResolverConfig config)
private static EventResolver
createPatternResolver(TemplateResolverConfig config)
private static EventResolver
createResolver(TemplateResolverConfig config)
private static long
epochNanos(Instant instant)
(package private) static java.lang.String
getName()
void
resolve(LogEvent logEvent, JsonWriter jsonWriter)
Resolves the givenvalue
using 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:TemplateResolver
Resolves the givenvalue
using the providedJsonWriter
.- Specified by:
resolve
in interfaceTemplateResolver<LogEvent>
-
-