You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SLF4J ILoggingEvent has two important fields / getter methods:
message - contains the message template (e.g. "Hello {}!")
formattedMessage - contains the final formatted/merged log message (e.g. "Hello world!")
This distinction is useful -- for example, we use this to aggregate log messages.
Issue
KLogger relies on Kotlin string interpolation and as a result, the message field contains the same formatted message as formattedMessage, breaking the possibilities for aggregation.
Proposal
Introduce a new field in KLoggingEventBuilder that could contain the log message template (e.g. "Hello $variable!"):
in case this field is filled, it is passed as-is to SLF4J ILoggingEvent.message field.
in case this field is not filled, the current behaviour is followed (using the formatted message).
This will make it easier for me to implement something on top of KLogger to fill that field properly (I'm thinking of implementing a Kotlin compiler plugin).
The text was updated successfully, but these errors were encountered:
Can you please provide some more info?
You mean that the un-formatted message will be added by the compiler plugin? if so, sounds like an interesting idea. In the past I thought of using a compiler plugin to add line numbers, file name, etc'. But never implemented it.
Context
SLF4J
ILoggingEvent
has two important fields / getter methods:message
- contains the message template (e.g."Hello {}!"
)formattedMessage
- contains the final formatted/merged log message (e.g."Hello world!"
)This distinction is useful -- for example, we use this to aggregate log messages.
Issue
KLogger
relies on Kotlin string interpolation and as a result, themessage
field contains the same formatted message asformattedMessage
, breaking the possibilities for aggregation.Proposal
Introduce a new field in
KLoggingEventBuilder
that could contain the log message template (e.g."Hello $variable!"
):ILoggingEvent.message
field.This will make it easier for me to implement something on top of
KLogger
to fill that field properly (I'm thinking of implementing a Kotlin compiler plugin).The text was updated successfully, but these errors were encountered: