You can only have a single root element. If you want to filter log events by severity / priority by appender, then you should use the ThresholdFilter filter per appender.On Mon, Mar 27, 2017 at 4:42 AM, Thomas Grainger <tagrain@gmail.com> wrote:______________________________When I configure a filter, my process doesn't even boot, with no error message at all:I have a config file:However, even though I have root level="WARN" for Sentry, I get all logging events (eg INFO level)
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<contextListener class="com.procensus.backend.logging.LoggerStartupListener"/ >
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/application.log</file>
<encoder>
<pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
</encoder>
</appender>
<appender name="CLOUDWATCH_SYNC" class="ca.pjer.logback.AwsLogsAppender">
<logRegion>eu-west-1</logRegion>
<logGroupName>procensus/backend</logGroupName>
<logStreamName>${EC2_METADATA_IP_ADDRESS}</logStreamName>
<layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
<jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
<prettyPrint>false</prettyPrint>
</jsonFormatter>
</layout>
</appender>
<appender name="CLOUDWATCH" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="CLOUDWATCH_SYNC"/>
</appender>
<appender name="SENTRY" class="com.getsentry.raven.logback.SentryAppender">
<dsn>https://redacted:redacted@sentry.io/redacted </dsn>
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="DEBUG" />
<!-- Off these ones as they are annoying, and anyway we manage configuration ourself -->
<logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
<logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" />
<logger name="com.amazonaws.request" level="OFF" />
<root level="ERROR">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<root level="INFO">
<appender-ref ref="CLOUDWATCH" />
</root>
<root level="WARN">
<appender-ref ref="SENTRY" />
</root>
</configuration>
<configuration>
<conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />
<contextListener class="com.procensus.backend.logging.LoggerStartupListener"/ >
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${application.home}/logs/application.log</file>
<encoder>
<pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern>
</encoder>
</appender>
<appender name="CLOUDWATCH_SYNC" class="ca.pjer.logback.AwsLogsAppender">
<logRegion>eu-west-1</logRegion>
<logGroupName>procensus/backend</logGroupName>
<logStreamName>${EC2_METADATA_IP_ADDRESS}</logStreamName>
<layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
<jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
<prettyPrint>false</prettyPrint>
</jsonFormatter>
</layout>
</appender>
<appender name="CLOUDWATCH" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="CLOUDWATCH_SYNC"/>
</appender>
<appender name="SENTRY" class="com.getsentry.raven.logback.SentryAppender">
<dsn>https://redacted:redacted@sentry.io/redacted </dsn>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="DEBUG" />
<!-- Off these ones as they are annoying, and anyway we manage configuration ourself -->
<logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
<logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
<logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" />
<logger name="com.amazonaws.request" level="OFF" />
<root level="ERROR">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<root level="INFO">
<appender-ref ref="CLOUDWATCH" />
</root>
<root level="WARN">
<appender-ref ref="SENTRY" />
</root>
</configuration>Thomas Grainger_________________
logback-user mailing list
logback-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user --
Andy Feller
Sr. DevOps Engineer
900 Main Campus Drive, Suite 500Raleigh, NC 27606
_______________________________________________
logback-user mailing list
logback-user@qos.ch
http://mailman.qos.ch/mailman/listinfo/logback-user