2 * Copyright (C) 2015 - Michael Jeanson <dgoulet@efficios.com>
3 * Copyright (C) 2014 - David Goulet <dgoulet@efficios.com>
4 * Christian Babeux <christian.babeux@efficios.com>
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License, version 2 only, as
8 * published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15 * You should have received a copy of the GNU General Public License along with
16 * this program; if not, write to the Free Software Foundation, Inc., 51
17 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 import java
.io
.IOException
;
21 import java
.lang
.Integer
;
23 import org
.apache
.log4j
.Appender
;
24 import org
.apache
.log4j
.BasicConfigurator
;
25 import org
.apache
.log4j
.Logger
;
26 import org
.apache
.log4j
.Level
;
27 import org
.lttng
.ust
.agent
.log4j
.LttngLogAppender
;
29 public class JTestLTTng
{
35 * Command-line arguments
37 * @throws InterruptedException
39 public static void main(String args
[]) throws IOException
, InterruptedException
{
41 Logger lttng
= Logger
.getLogger("log4j-event");
42 Logger lttng2
= Logger
.getLogger("log4j-event-2");
45 * Set lowest level to make sure all event levels are logged.
46 * Any jar can override the default log4j rootLogger level
47 * and a logger with no explicit level defaults to the non-null
48 * parent level. Events could be ignored if the inherited value
49 * is too low, thereby failing the test.
51 * See BSF -> https://issues.apache.org/jira/browse/BSF-24
53 lttng
.setLevel(Level
.ALL
);
54 lttng2
.setLevel(Level
.ALL
);
56 int nrIter
= Integer
.parseInt(args
[0]);
57 int waitTime
= Integer
.parseInt(args
[1]);
58 int fire_debug_tp
= 0;
59 int fire_second_tp
= 0;
61 if (args
.length
> 2) {
62 fire_debug_tp
= Integer
.parseInt(args
[2]);
64 if (args
.length
> 3) {
65 fire_second_tp
= Integer
.parseInt(args
[3]);
68 /* Start with the default Log4j configuration, which logs to console */
69 BasicConfigurator
.configure();
72 * Add a LTTng log appender to both loggers, which will also send the
73 * logged events to UST.
75 Appender lttngAppender
= new LttngLogAppender();
76 lttng
.addAppender(lttngAppender
);
77 lttng2
.addAppender(lttngAppender
);
79 for (int iter
= 0; iter
< nrIter
; iter
++) {
80 lttng
.info("LOG4J tp fired!");
81 if (fire_debug_tp
== 1) {
82 /* Third arg, trigger debug TP. */
83 lttng
.debug("LOG4J DEBUG tp fired");
85 Thread
.sleep(waitTime
);
88 if (fire_second_tp
== 1) {
89 lttng2
.info("LOG4J second logger fired");
93 * Do not forget to close() all handlers so that the agent can shutdown
94 * and the session daemon socket gets cleaned up explicitly.
96 lttngAppender
.close();
This page took 0.032533 seconds and 4 git commands to generate.