Failed to interpret '%level_value' conversion word
thedevd opened this issue · 1 comments
thedevd commented
Describe the bug
Using logLevelValue (field name level_value) in logback throws Failed to interpret '%level_value' conversion word
To Reproduce
Steps to reproduce the behavior:
- Use this encoder in
logback.xml
configuration...
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<pattern>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</pattern>
<timeZone>UTC</timeZone>
<fieldName>timestamp</fieldName>
</timestamp>
<pattern>
<omitEmptyFields>true</omitEmptyFields>
<pattern>
{
"level": "%level",
"log_level": "%level_value",
"logger": "%logger",
"msg": "%message",
"trace_id": "%mdc{traceId}"
}
</pattern>
</pattern>
</providers>
</encoder>
- See error, or unexpected output
20:55:38,834 |-ERROR in ch.qos.logback.core.pattern.parser.Compiler@5487e8ab - There is no conversion class registered for conversion word [level_value]
20:55:38,834 |-ERROR in ch.qos.logback.core.pattern.parser.Compiler@5487e8ab - [level_value] is not a valid conversion word
20:55:38,834 |-ERROR in net.logstash.logback.composite.loggingevent.LoggingEventPatternJsonProvider@473e6998 - Invalid [pattern]: Invalid JSON property '//log_level' (was '%level_value'): Failed to interpret '%level_value' conversion word. See previous error statuses for more information. net.logstash.logback.pattern.AbstractJsonPatternParser$JsonPatternException: Invalid JSON property '//log_level' (was '%level_value'): Failed to interpret '%level_value' conversion word. See previous error statuses for more information.
at net.logstash.logback.pattern.AbstractJsonPatternParser$JsonPatternException: Invalid JSON property '//log_level' (was '%level_value'): Failed to interpret '%level_value' conversion word. See previous error statuses for more information.
at at net.logstash.logback.pattern.AbstractJsonPatternParser.parseNode(AbstractJsonPatternParser.java:328)
at at net.logstash.logback.pattern.AbstractJsonPatternParser.parseObject(AbstractJsonPatternParser.java:378)
at at net.logstash.logback.pattern.AbstractJsonPatternParser.parse(AbstractJsonPatternParser.java:307)
at at net.logstash.logback.composite.AbstractPatternJsonProvider.initializeNodeWriter(AbstractPatternJsonProvider.java:104)
at at net.logstash.logback.composite.AbstractPatternJsonProvider.start(AbstractPatternJsonProvider.java:85)
at at net.logstash.logback.composite.JsonProviders.start(JsonProviders.java:48)
at at net.logstash.logback.composite.AbstractCompositeJsonFormatter.start(AbstractCompositeJsonFormatter.java:120)
at at net.logstash.logback.encoder.CompositeJsonEncoder.start(CompositeJsonEncoder.java:129)
at at ch.qos.logback.core.model.processor.ImplicitModelHandler.postHandleComplex(ImplicitModelHandler.java:208)
at at ch.qos.logback.core.model.processor.ImplicitModelHandler.postHandle(ImplicitModelHandler.java:186)
at at ch.qos.logback.core.model.processor.DefaultProcessor.secondPhaseTraverse(DefaultProcessor.java:257)
at at ch.qos.logback.core.model.processor.DefaultProcessor.secondPhaseTraverse(DefaultProcessor.java:253)
at at ch.qos.logback.core.model.processor.DefaultProcessor.secondPhaseTraverse(DefaultProcessor.java:253)
at at ch.qos.logback.core.model.processor.DefaultProcessor.traversalLoop(DefaultProcessor.java:90)
at at ch.qos.logback.core.model.processor.DefaultProcessor.process(DefaultProcessor.java:106)
at at ch.qos.logback.core.joran.GenericXMLConfigurator.processModel(GenericXMLConfigurator.java:208)
at at ch.qos.logback.core.joran.GenericXMLConfigurator.doConfigure(GenericXMLConfigurator.java:170)
at at ch.qos.logback.core.joran.GenericXMLConfigurator.doConfigure(GenericXMLConfigurator.java:122)
at at ch.qos.logback.core.joran.GenericXMLConfigurator.doConfigure(GenericXMLConfigurator.java:65)
at at ch.qos.logback.classic.util.DefaultJoranConfigurator.configureByResource(DefaultJoranConfigurator.java:68)
at at play.api.libs.logback.LogbackLoggerConfigurator.configure(LogbackLoggerConfigurator.scala:128)
at at play.api.libs.logback.LogbackLoggerConfigurator.configure(LogbackLoggerConfigurator.scala:75)
at at play.api.libs.logback.LogbackLoggerConfigurator.configure(LogbackLoggerConfigurator.scala:37)
Expected behavior
Although the documentation here https://github.com/logfellow/logstash-logback-encoder?tab=readme-ov-file#providers-for-loggingevents says use field name level_value for Logger level numerical value, but it does not work
- what output did you expect
Additional context
Following is the version information
- logstash-logback-encoder 7.4
"net.logstash.logback" % "logstash-logback-encoder" % "7.4"
- logback version - 1.4.11
- jackson version - 2.17.0
- java version - 11.0.22
- play framework - 3.0.0
thedevd commented
Oops sorry for incovenience, I think I have to add under to include level_value for numerical log value, however I do not want it to that long I mean 20000 for INFO (I want simply 2)