~ubuntu-branches/ubuntu/wily/ust/wily-proposed

« back to all changes in this revision

Viewing changes to liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java

  • Committer: Package Import Robot
  • Author(s): Artur Rona
  • Date: 2015-06-24 14:18:03 UTC
  • mfrom: (11.2.11 sid)
  • Revision ID: package-import@ubuntu.com-20150624141803-zfj6xzpr7dlxiysg
Tags: 2.6.2-1ubuntu1
* Merge from Debian unstable. (LP: #1468345) Remaining changes:
  - debian/control, debian/patches/use-python3.patch:
    + Switch to use python3. (Closes: #789790)
* Drop following changes, fixed in Debian / upstream:
  - debian/patches/0001-Add-aarch64-host-cpu-in-configure.ac.patch:
    + Add arm64 host_cpu stanzas in configure.ac
  - debian/liblttng-ust0.symbols:
    + Update symbols file.
  - debian/control:
    + Enable builds on arm64 and ppc64el.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (C) 2013 - David Goulet <dgoulet@efficios.com>
3
 
 *
4
 
 * This library is free software; you can redistribute it and/or modify it
5
 
 * under the terms of the GNU Lesser General Public License, version 2.1 only,
6
 
 * as published by the Free Software Foundation.
7
 
 *
8
 
 * This library is distributed in the hope that it will be useful, but WITHOUT
9
 
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
 
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
11
 
 * for more details.
12
 
 *
13
 
 * You should have received a copy of the GNU Lesser General Public License
14
 
 * along with this library; if not, write to the Free Software Foundation,
15
 
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
 
 */
17
 
 
18
 
package org.lttng.ust.jul;
19
 
 
20
 
import java.lang.String;
21
 
import java.util.logging.Handler;
22
 
import java.util.logging.LogRecord;
23
 
import java.util.logging.LogManager;
24
 
import java.util.logging.Level;
25
 
import java.util.logging.Logger;
26
 
import java.util.Collections;
27
 
import java.util.HashMap;
28
 
import java.util.Map;
29
 
 
30
 
import org.lttng.ust.jul.LTTngUst;
31
 
 
32
 
public class LTTngLogHandler extends Handler {
33
 
        /* Am I a root Log Handler. */
34
 
        public int is_root = 0;
35
 
        public int refcount = 0;
36
 
 
37
 
        public LogManager logManager;
38
 
 
39
 
        /* Logger object attached to this handler that can trigger a tracepoint. */
40
 
        public Map<String, LTTngEvent> enabledEvents =
41
 
                Collections.synchronizedMap(new HashMap<String, LTTngEvent>());
42
 
 
43
 
        /* Constructor */
44
 
        public LTTngLogHandler(LogManager logManager) {
45
 
                super();
46
 
 
47
 
                this.logManager = logManager;
48
 
 
49
 
                /* Initialize LTTng UST tracer. */
50
 
                LTTngUst.init();
51
 
        }
52
 
 
53
 
        /*
54
 
         * Cleanup this handler state meaning put it back to a vanilla state.
55
 
         */
56
 
        public void clear() {
57
 
                this.enabledEvents.clear();
58
 
        }
59
 
 
60
 
        @Override
61
 
        public void close() throws SecurityException {}
62
 
 
63
 
        @Override
64
 
        public void flush() {}
65
 
 
66
 
        @Override
67
 
        public void publish(LogRecord record) {
68
 
                /*
69
 
                 * Specific tracepoing designed for JUL events. The source class of the
70
 
                 * caller is used for the event name, the raw message is taken, the
71
 
                 * loglevel of the record and the thread ID.
72
 
                 */
73
 
                if (this.is_root == 1) {
74
 
                        LTTngUst.tracepointS(record.getMessage(),
75
 
                                        record.getLoggerName(), record.getSourceClassName(),
76
 
                                        record.getSourceMethodName(), record.getMillis(),
77
 
                                        record.getLevel().intValue(), record.getThreadID());
78
 
                } else {
79
 
                        LTTngUst.tracepointU(record.getMessage(),
80
 
                                        record.getLoggerName(), record.getSourceClassName(),
81
 
                                        record.getSourceMethodName(), record.getMillis(),
82
 
                                        record.getLevel().intValue(), record.getThreadID());
83
 
                }
84
 
        }
85
 
}