类org.apache.logging.log4j.core.config.builder.api.LayoutComponentBuilder源码实例Demo

下面列出了怎么用org.apache.logging.log4j.core.config.builder.api.LayoutComponentBuilder的API类实例代码及写法,或者点击链接到github查看源代码。

private AppenderComponentBuilder createFileAppender(ConfigurationBuilder<BuiltConfiguration> builder, String logFile, LayoutComponentBuilder layout) {
    ByteValue size = ByteValue.of(getValue("log_file_size", sources, LoggingConfiguration.DEFAULT_MAX_SIZE));
    return builder.newAppender("rolling", "RollingFile")
        .addAttribute("fileName", logFile)
        .addAttribute("filePattern", logFile + ".%i")
        .add(layout)
        .addComponent(builder.newComponent("Policies")
            .addComponent(builder.newComponent("SizeBasedTriggeringPolicy").addAttribute("size", size.getBytes() + "B")))
        // Always keep exactly one history file.
        // This is needed to ensure that the rest of the file can be sent when its rotated.
        // Storing multiple history files would give the false impression that, for example,
        // when currently reading from apm.log2, the reading would continue from apm.log1.
        // This is not the case, when apm.log2 is fully read, the reading will continue from apm.log.
        // That is because we don't want to require the reader having to know the file name pattern of the rotated file.
        .addComponent(builder.newComponent("DefaultRolloverStrategy").addAttribute("max", 1));
}
 
源代码2 项目: luna   文件: LoggingConfigurationFactory.java
/**
 * Returns the pattern layout defined by {@link LoggingSettings}.
 *
 * @param builder The builder.
 * @return The pattern layout.
 */
private LayoutComponentBuilder getPatternLayout(ConfigurationBuilder<BuiltConfiguration> builder) {
    var pattern = "";
    var formatType = Luna.loggingSettings().formatType();
    switch (formatType) {
        case BASIC:
            pattern = "[%d{dd MMM yyyy, h:mm:ss a}] [%level] %msg%n";
            break;
        case VERBOSE:
            pattern = "%d{[dd MMM yyyy HH:mm:ss]} [%logger{36}] [%t]%n%level: %msg%n";
            break;
    }
    if (pattern.isEmpty()) {
        throw new IllegalStateException("No pattern layout for " + formatType + "!");
    }
    return builder.newLayout("PatternLayout").addAttribute("pattern", pattern);
}
 
private LayoutComponentBuilder createLayout(ConfigurationBuilder<BuiltConfiguration> builder, LogFormat logFormat) {
    if (logFormat == LogFormat.PLAIN_TEXT) {
        return builder
                .newLayout("PatternLayout")
                .addAttribute("pattern", "%d [%thread] %-5level %logger{36} - %msg%n");
    } else {
        String serviceName = getValue(CoreConfiguration.SERVICE_NAME, sources, ServiceNameUtil.getDefaultServiceName());
        return builder.newLayout("EcsLayout")
            .addAttribute("eventDataset", serviceName + ".apm");
    }
}
 
private LayoutComponentBuilder newPatternLayout(final String pattern) {
    final LayoutComponentBuilder layoutBuilder = builder.newLayout("PatternLayout");
    if (pattern != null) {
        layoutBuilder.addAttribute("pattern", pattern);
    }
    return layoutBuilder;
}
 
private LayoutComponentBuilder newPatternLayout(final String pattern) {
    final LayoutComponentBuilder layoutBuilder = builder.newLayout("PatternLayout");
    if (pattern != null) {
        layoutBuilder.addAttribute("pattern", pattern);
    }
    return layoutBuilder;
}
 
private LayoutComponentBuilder createLayout(final String appenderName, final Properties properties) {
    final String type = (String) properties.remove(CONFIG_TYPE);
    if (Strings.isEmpty(type)) {
        throw new ConfigurationException("No type attribute provided for Layout on Appender " + appenderName);
    }
    final LayoutComponentBuilder layoutBuilder = builder.newLayout(type);
    return processRemainingProperties(layoutBuilder, properties);
}
 
源代码7 项目: tutorials   文件: CustomConfigurationFactory.java
static Configuration createConfiguration(final String name, ConfigurationBuilder<BuiltConfiguration> builder) {
    AppenderComponentBuilder console = builder.newAppender("Stdout", "Console");
    LayoutComponentBuilder layout = builder.newLayout("PatternLayout")
        .addAttribute("pattern", "%d [%t] %-5level: %msg%n%throwable");
    console.add(layout);
    FilterComponentBuilder filter = builder.newFilter("MarkerFilter", Filter.Result.ACCEPT, Filter.Result.DENY);
    filter.addAttribute("marker", "FLOW");
    console.add(filter);
    builder.add(console);
    ComponentBuilder triggeringPolicies = builder.newComponent("Policies")
        .addComponent(builder.newComponent("CronTriggeringPolicy")
            .addAttribute("schedule", "0 0 0 * * ?"))
        .addComponent(builder.newComponent("SizeBasedTriggeringPolicy")
            .addAttribute("size", "100M"));
    AppenderComponentBuilder rollingFile = builder.newAppender("rolling", "RollingFile");
    rollingFile.addAttribute("fileName", "target/rolling.log");
    rollingFile.addAttribute("filePattern", "target/archive/rolling-%d{MM-dd-yy}.log.gz");
    rollingFile.add(layout);
    rollingFile.addComponent(triggeringPolicies);
    builder.add(rollingFile);
    AppenderComponentBuilder file = builder.newAppender("FileSystem", "File");
    file.addAttribute("fileName", "target/logging.log");
    file.add(layout);
    builder.add(file);
    LoggerComponentBuilder logger = builder.newLogger("com", Level.DEBUG);
    logger.add(builder.newAppenderRef("Stdout"));
    logger.add(builder.newAppenderRef("rolling"));
    logger.add(builder.newAppenderRef("FileSystem"));
    logger.addAttribute("additivity", false);
    builder.add(logger);
    RootLoggerComponentBuilder rootLogger = builder.newRootLogger(Level.ERROR);
    rootLogger.add(builder.newAppenderRef("Stdout"));
    rootLogger.add(builder.newAppenderRef("rolling"));
    // rootLogger.add(builder.newAppenderRef("syslogAppender"));
    rootLogger.add(builder.newAppenderRef("FileSystem"));
    rootLogger.addAttribute("additivity", false);
    builder.add(rootLogger);
    try {
        builder.writeXmlConfiguration(System.out);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return builder.build();

}
 
@Override
public AppenderComponentBuilder add(final LayoutComponentBuilder builder) {
    return addComponent(builder);
}
 
@Override
public LayoutComponentBuilder newLayout(final String type) {
    return new DefaultLayoutComponentBuilder(this, type);
}
 
源代码10 项目: logging-log4j2   文件: TestConfigurator.java
@Test
public void testRolling() throws Exception {
    final ConfigurationBuilder< BuiltConfiguration > builder =
            ConfigurationBuilderFactory.newConfigurationBuilder();

    builder.setStatusLevel( Level.ERROR);
    builder.setConfigurationName("RollingBuilder");
    // create the console appender
    AppenderComponentBuilder appenderBuilder = builder.newAppender("Stdout", "CONSOLE").addAttribute("target",
            ConsoleAppender.Target.SYSTEM_OUT);
    appenderBuilder.add(builder.newLayout("PatternLayout").
            addAttribute("pattern", "%d [%t] %-5level: %msg%n%throwable"));
    builder.add( appenderBuilder );

    final LayoutComponentBuilder layoutBuilder = builder.newLayout("PatternLayout")
            .addAttribute("pattern", "%d [%t] %-5level: %msg%n");
    final ComponentBuilder triggeringPolicy = builder.newComponent("Policies")
            .addComponent(builder.newComponent("CronTriggeringPolicy").addAttribute("schedule", "0 0 0 * * ?"))
            .addComponent(builder.newComponent("SizeBasedTriggeringPolicy").addAttribute("size", "100M"));
    appenderBuilder = builder.newAppender("rolling", "RollingFile")
            .addAttribute("fileName", "target/rolling.log")
            .addAttribute("filePattern", "target/archive/rolling-%d{MM-dd-yy}.log.gz")
            .add(layoutBuilder)
            .addComponent(triggeringPolicy);
    builder.add(appenderBuilder);

    // create the new logger
    builder.add( builder.newLogger( "TestLogger", Level.DEBUG )
            .add( builder.newAppenderRef( "rolling" ) )
            .addAttribute( "additivity", false ) );

    builder.add( builder.newRootLogger( Level.DEBUG )
            .add( builder.newAppenderRef( "rolling" ) ) );
    final Configuration config = builder.build();
    config.initialize();
    assertNotNull("No rolling file appender", config.getAppender("rolling"));
    assertEquals("Unexpected Configuration", "RollingBuilder", config.getName());
    // Initialize the new configuration
    final LoggerContext ctx = Configurator.initialize( config );
    Configurator.shutdown(ctx);

}
 
 类所在包
 类方法
 同包方法