Search in sources :

Example 1 with FilterFactory

use of io.dropwizard.logging.filter.FilterFactory in project dropwizard by dropwizard.

the class DefaultLoggingFactoryTest method canParseNewLoggerFormat.

@Test
public void canParseNewLoggerFormat() throws Exception {
    final DefaultLoggingFactory config = factory.build(new File(Resources.getResource("yaml/logging_advanced.yml").toURI()));
    assertThat(config.getLoggers()).contains(MapEntry.entry("com.example.app", new TextNode("INFO")));
    final JsonNode newApp = config.getLoggers().get("com.example.newApp");
    assertThat(newApp).isNotNull();
    final LoggerConfiguration newAppConfiguration = objectMapper.treeToValue(newApp, LoggerConfiguration.class);
    assertThat(newAppConfiguration.getLevel()).isEqualTo(Level.DEBUG);
    assertThat(newAppConfiguration.getAppenders()).hasSize(1);
    final AppenderFactory<ILoggingEvent> appenderFactory = newAppConfiguration.getAppenders().get(0);
    assertThat(appenderFactory).isInstanceOf(FileAppenderFactory.class);
    final FileAppenderFactory<ILoggingEvent> fileAppenderFactory = (FileAppenderFactory<ILoggingEvent>) appenderFactory;
    assertThat(fileAppenderFactory.getCurrentLogFilename()).isEqualTo("${new_app}.log");
    assertThat(fileAppenderFactory.getArchivedLogFilenamePattern()).isEqualTo("${new_app}-%d.log.gz");
    assertThat(fileAppenderFactory.getArchivedFileCount()).isEqualTo(5);
    assertThat(fileAppenderFactory.getBufferSize().toKilobytes()).isEqualTo(256);
    final ImmutableList<FilterFactory<ILoggingEvent>> filterFactories = fileAppenderFactory.getFilterFactories();
    assertThat(filterFactories).hasSize(2);
    assertThat(filterFactories.get(0)).isExactlyInstanceOf(TestFilterFactory.class);
    assertThat(filterFactories.get(1)).isExactlyInstanceOf(SecondTestFilterFactory.class);
    final JsonNode legacyApp = config.getLoggers().get("com.example.legacyApp");
    assertThat(legacyApp).isNotNull();
    final LoggerConfiguration legacyAppConfiguration = objectMapper.treeToValue(legacyApp, LoggerConfiguration.class);
    assertThat(legacyAppConfiguration.getLevel()).isEqualTo(Level.DEBUG);
    // We should not create additional appenders, if they are not specified
    assertThat(legacyAppConfiguration.getAppenders()).isEmpty();
}
Also used : TextNode(com.fasterxml.jackson.databind.node.TextNode) JsonNode(com.fasterxml.jackson.databind.JsonNode) ILoggingEvent(ch.qos.logback.classic.spi.ILoggingEvent) File(java.io.File) FilterFactory(io.dropwizard.logging.filter.FilterFactory) Test(org.junit.Test)

Aggregations

ILoggingEvent (ch.qos.logback.classic.spi.ILoggingEvent)1 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 TextNode (com.fasterxml.jackson.databind.node.TextNode)1 FilterFactory (io.dropwizard.logging.filter.FilterFactory)1 File (java.io.File)1 Test (org.junit.Test)1