Comments (2)
Unfortunately, Jackson MixIn
s don't work this way.
However, in this case, there are workarounds:
- In order to use
Instant
as@timestamp
, this worked for me (note, that @JsonIgnore(false) has to be present to include getter that was ignored inLogEventJacksonJsonMixIn
):
@JsonProperty("@timestamp")
@JsonIgnore(false)
@Override
public abstract Instant getInstant();
- If you want to append additional properties, you can smuggle them using Log4j2
ThreadContext
and:
- use
LogEvent.getContextMap
if you want to decorate root level ofdocument.source
:
@JsonAnyGetter
@JsonIgnore(false)
@Override
public abstract Map<String, String> getContextMap();
NOTE: it's deprecated, so if it gets removed, switch to getContextData
- use
LogEvent.getContextData
if you don't care about nesting:
@JsonSerialize(using = ContextDataSerializer.class)
@JsonIgnore(false)
@Override
public abstract ReadOnlyStringMap getContextData();
ContextDataSerializer
is considered private in log4j-core:jar
- another argument for a custom one.
from log4j2-elasticsearch.
If you want to remove the "contextData" level in the generated json :
Add @JsonUnwrapped annotation on the getter getContextData() in the mixins class.
And important, in your custom serializer of getContextData(), yes you need one, add the following code :
@Override
public boolean isUnwrappingSerializer() {
return true;
}
from log4j2-elasticsearch.
Related Issues (20)
- Supporting ecs-logging-java HOT 8
- Package naming conventions HOT 11
- How to pass the value from ThreadContext to ValueProperty? HOT 3
- Can not log to elastic using log4j2 <PatternLayout> HOT 11
- Support elasticsearch data_streams HOT 6
- Failed to Load StackTraceElementMixIn HOT 22
- InvalidTypeNameException on invalid mappingType in ES 5 HOT 8
- Adding custom properties, that change during processing HOT 4
- Log4j2 Zero-Day vulnerability (CVE-2021-44228) HOT 2
- Support OpenSearch 2.x and Elasticsearch 8.x HOT 9
- Unable to determine if index already exists HOT 1
- Support for ECSLayout for elasticsearch-ahc and / or elaticsearch-jest in combination with data streams HOT 10
- Is it possible to deseriailze JSON within the message into properties? HOT 2
- Run elastic search appender in specific environment HOT 2
- Logging-Cleaner ERROR Could not create plugin HOT 3
- How do I add mdc attributes? HOT 1
- Could not initialize ChronicleMapRetryFailoverPolicy HOT 2
- ServiceDiscovery ERROR HCServiceDiscovery: Unable to refresh addresses: Cannot invoke "org.appenders.log4j2.elasticsearch.hc.discovery.NodeInfo$PublishAddress.getPublishAddress()" HOT 1
- Using log4j2-elasticsearch-hc -> Does AsyncLogger still not support adding dynamic keyValue pairs in Jackson JSONLayout HOT 5
- IS JacksonModule is implemented in latest version? HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from log4j2-elasticsearch.