Java PatternLayout-class And Method Code Example


Here is an example of using the PatternLayout class from the logback.classic package in Java:

import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
import ch.qos.logback.core.ConsoleAppender;

public class Example {
    public static void main(String[] args) {
        LoggerContext context = new LoggerContext();
        Logger rootLogger = context.getLogger(Logger.ROOT_LOGGER_NAME);

        // Create a pattern layout
        PatternLayoutEncoder encoder = new PatternLayoutEncoder();
        encoder.setContext(context);
        encoder.setPattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n");
        encoder.start();

        // Create a console appender
        ConsoleAppender<ILoggingEvent> appender = new ConsoleAppender<>();
        appender.setContext(context);
        appender.setEncoder(encoder);
        appender.start();

        // Attach the appender to the root logger
        rootLogger.addAppender(appender);

        // Log some messages
        rootLogger.debug("Debug message");
        rootLogger.info("Info message");
        rootLogger.warn("Warning message");
        rootLogger.error("Error message");
    }
}

In this example, we first create a new LoggerContext and get the root logger. We then create a new PatternLayoutEncoder and set its pattern to include the timestamp, thread, log level, logger name, and message, separated by spaces and newlines. We also create a new ConsoleAppender and set its encoder to be the pattern layout we just created, and add this appender to the root logger. Then, we use the root logger to log some messages with different levels.

Note that you need to add logback classic library in the classpath to use this example.