X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=doc%2Fexamples%2Fjava-log4j2-prog%2FHelloLog4j2Prog.java;fp=doc%2Fexamples%2Fjava-log4j2-prog%2FHelloLog4j2Prog.java;h=685eebfa41a9c0d96cd59d386be9b4c38b5c08fe;hb=464c475658ae29039b3b9e769b5b02195688a94a;hp=0000000000000000000000000000000000000000;hpb=08c1dfc43e014a99cd47202f6b370f8afa33e4c8;p=lttng-ust.git diff --git a/doc/examples/java-log4j2-prog/HelloLog4j2Prog.java b/doc/examples/java-log4j2-prog/HelloLog4j2Prog.java new file mode 100644 index 00000000..685eebfa --- /dev/null +++ b/doc/examples/java-log4j2-prog/HelloLog4j2Prog.java @@ -0,0 +1,76 @@ +/* + * SPDX-License-Identifier: MIT + * + * Copyright (C) 2022 EfficiOS Inc. + */ + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.core.config.Configurator; +import org.apache.logging.log4j.core.config.builder.api.AppenderComponentBuilder; +import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder; +import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory; +import org.apache.logging.log4j.core.config.builder.api.LayoutComponentBuilder; +import org.apache.logging.log4j.core.config.builder.api.RootLoggerComponentBuilder; +import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration; + +/** + * Example application using the LTTng-UST Java log4j agent. + * + *

+ * To obtain LTTng trace events, you should run the following sequence of + * commands: + *

+ * + * + * + */ +public class HelloLog4j2Prog { + + /** + * Application start + * + * @param args Command-line arguments + */ + public static void main(String args[]) { + + ConfigurationBuilder builder = ConfigurationBuilderFactory.newConfigurationBuilder(); + + /* Layout */ + LayoutComponentBuilder standardLayout = builder.newLayout("PatternLayout"); + standardLayout.addAttribute("pattern", "%d [%t] %-5level: %msg%n%throwable"); + + /* Create a console appender */ + AppenderComponentBuilder appenderBuilder = builder.newAppender("Stdout", "CONSOLE"); + appenderBuilder.add(standardLayout); + builder.add(appenderBuilder); + + /* Create an Lttng appender */ + appenderBuilder = builder.newAppender("Lttng", "LTTNG"); + builder.add(appenderBuilder); + + /* Create a root logger with both appenders attached */ + RootLoggerComponentBuilder rootLogger = builder.newRootLogger(Level.DEBUG); + rootLogger.add(builder.newAppenderRef("Stdout")); + rootLogger.add(builder.newAppenderRef("Lttng")); + builder.add(rootLogger); + + Configurator.initialize(builder.build()); + + Logger logger = LogManager.getLogger(HelloLog4j2Prog.class); + + /* Trigger some tracing events using the Log4j Logger created before. */ + logger.info("Prog config: Hello World, the answer is " + 42); + logger.info("Prog config: Another info event"); + logger.error("Prog config: An error event"); + } +}