2 * SPDX-License-Identifier: MIT
4 * Copyright (C) 2022 EfficiOS Inc.
7 import org
.apache
.logging
.log4j
.Level
;
8 import org
.apache
.logging
.log4j
.LogManager
;
9 import org
.apache
.logging
.log4j
.Logger
;
10 import org
.apache
.logging
.log4j
.core
.config
.Configurator
;
11 import org
.apache
.logging
.log4j
.core
.config
.builder
.api
.AppenderComponentBuilder
;
12 import org
.apache
.logging
.log4j
.core
.config
.builder
.api
.ConfigurationBuilder
;
13 import org
.apache
.logging
.log4j
.core
.config
.builder
.api
.ConfigurationBuilderFactory
;
14 import org
.apache
.logging
.log4j
.core
.config
.builder
.api
.LayoutComponentBuilder
;
15 import org
.apache
.logging
.log4j
.core
.config
.builder
.api
.RootLoggerComponentBuilder
;
16 import org
.apache
.logging
.log4j
.core
.config
.builder
.impl
.BuiltConfiguration
;
19 * Example application using the LTTng-UST Java log4j agent.
22 * To obtain LTTng trace events, you should run the following sequence of
27 * <li>$ lttng create</li>
28 * <li>$ lttng enable-event -l -a</li>
29 * <li>$ lttng start</li>
30 * <li>(run this program)</li>
31 * <li>$ lttng stop</li>
32 * <li>$ lttng view</li>
33 * <li>$ lttng destroy</li>
37 public class HelloLog4j2Prog
{
42 * @param args Command-line arguments
44 public static void main(String args
[]) {
46 ConfigurationBuilder
<BuiltConfiguration
> builder
= ConfigurationBuilderFactory
.newConfigurationBuilder();
49 LayoutComponentBuilder standardLayout
= builder
.newLayout("PatternLayout");
50 standardLayout
.addAttribute("pattern", "%d [%t] %-5level: %msg%n%throwable");
52 /* Create a console appender */
53 AppenderComponentBuilder appenderBuilder
= builder
.newAppender("Stdout", "CONSOLE");
54 appenderBuilder
.add(standardLayout
);
55 builder
.add(appenderBuilder
);
57 /* Create an Lttng appender */
58 appenderBuilder
= builder
.newAppender("Lttng", "LTTNG");
59 builder
.add(appenderBuilder
);
61 /* Create a root logger with both appenders attached */
62 RootLoggerComponentBuilder rootLogger
= builder
.newRootLogger(Level
.DEBUG
);
63 rootLogger
.add(builder
.newAppenderRef("Stdout"));
64 rootLogger
.add(builder
.newAppenderRef("Lttng"));
65 builder
.add(rootLogger
);
67 Configurator
.initialize(builder
.build());
69 Logger logger
= LogManager
.getLogger(HelloLog4j2Prog
.class);
71 /* Trigger some tracing events using the Log4j Logger created before. */
72 logger
.info("Prog config: Hello World, the answer is " + 42);
73 logger
.info("Prog config: Another info event");
74 logger
.error("Prog config: An error event");