Open
Description
Logback encoders are not working with LoggingAppender. Can encoders be used with LoggingAppender for layout/pattern usage?
Environment details
Need to use https://logback.qos.ch/manual/encoders.html with google-cloud-logging-logback, but it doesn't work when I use encoder with google-cloud-logging-logback version 0.130.17-alpha.
Steps to reproduce
- Use LoggingAppender in logback.xml
- Add encoder element to logback.xml.
Code example
Contents of logback.xml:
<configuration>
<appender name="CLOUD" class="com.google.cloud.logging.logback.LoggingAppender">
<!-- Optional : filter logs at or above a level -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<log>application.log</log> <!-- Optional : default java.log -->
<resourceType>gae_app</resourceType> <!-- Optional : default: auto-detected, fallback: global -->
<enhancer>com.server.utils.LoggingEnhancerSimple</enhancer> <!-- Optional -->
<flushLevel>WARN</flushLevel> <!-- Optional : default ERROR -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d %-5level [%thread] %logger{0}: %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="CLOUD" />
</root>
</configuration>
Stack trace
In App Engine Standard Java 17 log I see this error at startup:
`ERROR in ch.qos.logback.core.joran.spi.Interpreter@12:16 - no applicable action for [pattern], current ElementPath is [[configuration][appender][encoder][pattern]]`
External references such as API reference guides
https://github.com/googleapis/java-logging-logback
See "Usage" section which says encoders can be used with LoggingAppender.