Add log4j and legacy-API tests
[lttng-ust-java-tests.git] / src / org / lttng / ust / agent / integration / jul / JulEnabledEventsTest.java
CommitLineData
da8308fe
AM
1package org.lttng.ust.agent.integration.jul;
2
da8308fe
AM
3import static org.junit.Assume.assumeTrue;
4
5import java.io.IOException;
6import java.util.List;
c5524c71 7import java.util.logging.Handler;
da8308fe
AM
8import java.util.logging.Level;
9import java.util.logging.Logger;
10
11import org.junit.After;
9368bd5e 12import org.junit.AfterClass;
da8308fe
AM
13import org.junit.Before;
14import org.junit.BeforeClass;
c5524c71 15import org.lttng.ust.agent.integration.common.EnabledEventsTest;
da8308fe
AM
16import org.lttng.ust.agent.jul.LttngLogHandler;
17import org.lttng.ust.agent.utils.LttngSessionControl;
18import org.lttng.ust.agent.utils.LttngSessionControl.Domain;
19
c5524c71 20public class JulEnabledEventsTest extends EnabledEventsTest {
da8308fe
AM
21
22 private static final Domain DOMAIN = Domain.JUL;
23
da8308fe
AM
24 private Logger loggerA;
25 private Logger loggerB;
26 private Logger loggerC;
27 private Logger loggerD;
28
da8308fe 29 @BeforeClass
c5524c71 30 public static void julClassSetup() {
da8308fe
AM
31 /* Skip tests if we can't find the JNI library or lttng-tools */
32 try {
33 LttngLogHandler testHandler = new LttngLogHandler();
34 testHandler.close();
35 } catch (SecurityException | IOException e) {
36 assumeTrue(false);
37 }
38
39 boolean ret1 = LttngSessionControl.setupSession(null, DOMAIN);
9368bd5e
AM
40 boolean ret2 = LttngSessionControl.stopSession(null);
41 /* "lttng view" also tests that Babeltrace is installed and working */
42 List<String> contents = LttngSessionControl.viewSession(null);
43 boolean ret3 = LttngSessionControl.destroySession(null);
da8308fe 44 assumeTrue(ret1 && ret2 && ret3);
9368bd5e
AM
45 assumeTrue(contents.isEmpty());
46 }
47
48 @AfterClass
c5524c71 49 public static void julClassCleanup() {
9368bd5e 50 LttngSessionControl.deleteAllTracee();
da8308fe
AM
51 }
52
53 @Before
c5524c71 54 public void julSetup() throws SecurityException, IOException {
9368bd5e
AM
55 // TODO Wipe all existing LTTng sessions?
56
da8308fe
AM
57 loggerA = Logger.getLogger(EVENT_NAME_A);
58 loggerB = Logger.getLogger(EVENT_NAME_B);
59 loggerC = Logger.getLogger(EVENT_NAME_C);
60 loggerD = Logger.getLogger(EVENT_NAME_D);
61
62 loggerA.setLevel(Level.ALL);
63 loggerB.setLevel(Level.ALL);
64 loggerC.setLevel(Level.ALL);
65 loggerD.setLevel(Level.ALL);
66
67 handlerA = new LttngLogHandler();
68 handlerB = new LttngLogHandler();
69 handlerC = new LttngLogHandler();
70
c5524c71
AM
71 loggerA.addHandler((Handler) handlerA);
72 loggerB.addHandler((Handler) handlerB);
73 loggerC.addHandler((Handler) handlerC);
da8308fe
AM
74 }
75
76 @After
c5524c71
AM
77 public void julTeardown() {
78 loggerA.removeHandler((Handler) handlerA);
79 loggerB.removeHandler((Handler) handlerB);
80 loggerC.removeHandler((Handler) handlerC);
da8308fe
AM
81
82 loggerA = null;
83 loggerB = null;
84 loggerC = null;
85 loggerD = null;
da8308fe
AM
86 }
87
c5524c71
AM
88 @Override
89 protected Domain getDomain() {
90 return DOMAIN;
9368bd5e
AM
91 }
92
c5524c71
AM
93 @Override
94 protected void sendEventsToLoggers() {
9368bd5e
AM
95 send10Events(loggerA);
96 send10Events(loggerB);
97 send10Events(loggerC);
98 send10Events(loggerD);
9368bd5e
AM
99 }
100
c5524c71 101 static void send10Events(Logger logger) {
da8308fe 102 String a = new String("a");
9368bd5e 103 Object[] params = { a, new String("b"), new Object() };
da8308fe 104
9368bd5e 105 // Levels are FINE, FINER, FINEST, INFO, SEVERE, WARNING
da8308fe
AM
106 logger.fine("A fine level message");
107 logger.finer("A finer level message");
108 logger.finest("A finest level message");
109 logger.info("A info level message");
110 logger.severe("A severe level message");
111 logger.warning("A warning level message");
112 logger.warning("Another warning level message");
113 logger.log(Level.WARNING, "A warning message using Logger.log()");
114 logger.log(Level.INFO, "A message with one parameter", a);
115 logger.log(Level.INFO, "A message with parameters", params);
116 }
da8308fe 117}
This page took 0.027377 seconds and 4 git commands to generate.