<div dir="ltr"><div><div>I have a config file:<br><br><configuration><br><br> <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" /><br> <contextListener class="com.procensus.backend.logging.LoggerStartupListener"/><br><br> <appender name="FILE" class="ch.qos.logback.core.FileAppender"><br> <file>${application.home}/logs/application.log</file><br> <encoder><br> <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern><br> </encoder><br> </appender><br><br> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><br> <encoder><br> <pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern><br> </encoder><br> </appender><br><br> <appender name="CLOUDWATCH_SYNC" class="ca.pjer.logback.AwsLogsAppender"><br> <logRegion>eu-west-1</logRegion><br> <logGroupName>procensus/backend</logGroupName><br> <logStreamName>${EC2_METADATA_IP_ADDRESS}</logStreamName><br> <layout class="ch.qos.logback.contrib.json.classic.JsonLayout"><br> <jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter"><br> <prettyPrint>false</prettyPrint><br> </jsonFormatter><br> </layout><br> </appender><br><br> <appender name="CLOUDWATCH" class="ch.qos.logback.classic.AsyncAppender"><br> <appender-ref ref="CLOUDWATCH_SYNC"/><br> </appender><br><br> <appender name="SENTRY" class="com.getsentry.raven.logback.SentryAppender"><br> <dsn><a href="https://redacted:redacted@sentry.io/redacted">https://redacted:redacted@sentry.io/redacted</a></dsn><br> </appender><br><br> <logger name="play" level="INFO" /><br> <logger name="application" level="DEBUG" /><br><br> <!-- Off these ones as they are annoying, and anyway we manage configuration ourself --><br> <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" /><br> <logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" /><br> <logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" /><br> <logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" /><br> <logger name="com.amazonaws.request" level="OFF" /><br><br> <root level="ERROR"><br> <appender-ref ref="STDOUT" /><br> <appender-ref ref="FILE" /><br> </root><br><br> <root level="INFO"><br> <appender-ref ref="CLOUDWATCH" /><br> </root><br><br> <root level="WARN"><br> <appender-ref ref="SENTRY" /><br> </root><br><br></configuration><br><br></div>However, even though I have root level="WARN" for Sentry, I get all logging events (eg INFO level)<br><br><br><br></div>When I configure a filter, my process doesn't even boot, with no error message at all:<br><br><br><configuration><br><br> <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" /><br> <contextListener class="com.procensus.backend.logging.LoggerStartupListener"/><br><br> <appender name="FILE" class="ch.qos.logback.core.FileAppender"><br> <file>${application.home}/logs/application.log</file><br> <encoder><br> <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern><br> </encoder><br> </appender><br><br> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><br> <encoder><br> <pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern><br> </encoder><br> </appender><br><br> <appender name="CLOUDWATCH_SYNC" class="ca.pjer.logback.AwsLogsAppender"><br> <logRegion>eu-west-1</logRegion><br> <logGroupName>procensus/backend</logGroupName><br> <logStreamName>${EC2_METADATA_IP_ADDRESS}</logStreamName><br> <layout class="ch.qos.logback.contrib.json.classic.JsonLayout"><br> <jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter"><br> <prettyPrint>false</prettyPrint><br> </jsonFormatter><br> </layout><br> </appender><br><br> <appender name="CLOUDWATCH" class="ch.qos.logback.classic.AsyncAppender"><br> <appender-ref ref="CLOUDWATCH_SYNC"/><br> </appender><br><br> <appender name="SENTRY" class="com.getsentry.raven.logback.SentryAppender"><br> <dsn><a href="https://redacted:redacted@sentry.io/redacted">https://redacted:redacted@sentry.io/redacted</a></dsn><br> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"><br> <level>WARN</level><br> </filter><br> </appender><br><br> <logger name="play" level="INFO" /><br> <logger name="application" level="DEBUG" /><br><br> <!-- Off these ones as they are annoying, and anyway we manage configuration ourself --><br> <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" /><br> <logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" /><br> <logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" /><br> <logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" /><br> <logger name="com.amazonaws.request" level="OFF" /><br><br> <root level="ERROR"><br> <appender-ref ref="STDOUT" /><br> <appender-ref ref="FILE" /><br> </root><br><br> <root level="INFO"><br> <appender-ref ref="CLOUDWATCH" /><br> </root><br><br> <root level="WARN"><br> <appender-ref ref="SENTRY" /><br> </root><br><br></configuration><br><div><br clear="all"><div><div><div><div class="gmail_signature">Thomas Grainger</div></div>
</div></div></div></div>