comparison src/org/eclipse/jetty/util/log/LoggerLog.java @ 802:3428c60d7cfc

replace jetty jars with source
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 07 Sep 2016 21:15:48 -0600
parents
children
comparison
equal deleted inserted replaced
801:6a21393191c1 802:3428c60d7cfc
1 //
2 // ========================================================================
3 // Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd.
4 // ------------------------------------------------------------------------
5 // All rights reserved. This program and the accompanying materials
6 // are made available under the terms of the Eclipse Public License v1.0
7 // and Apache License v2.0 which accompanies this distribution.
8 //
9 // The Eclipse Public License is available at
10 // http://www.eclipse.org/legal/epl-v10.html
11 //
12 // The Apache License v2.0 is available at
13 // http://www.opensource.org/licenses/apache2.0.php
14 //
15 // You may elect to redistribute this code under either of these licenses.
16 // ========================================================================
17 //
18
19 package org.eclipse.jetty.util.log;
20
21 import java.lang.reflect.Method;
22
23 /**
24 *
25 */
26 public class LoggerLog extends AbstractLogger
27 {
28 private final Object _logger;
29 private final Method _debugMT;
30 private final Method _debugMAA;
31 private final Method _infoMT;
32 private final Method _infoMAA;
33 private final Method _warnMT;
34 private final Method _warnMAA;
35 private final Method _setDebugEnabledE;
36 private final Method _getLoggerN;
37 private final Method _getName;
38 private volatile boolean _debug;
39
40 public LoggerLog(Object logger)
41 {
42 try
43 {
44 _logger = logger;
45 Class<?> lc = logger.getClass();
46 _debugMT = lc.getMethod("debug", new Class[]{String.class, Throwable.class});
47 _debugMAA = lc.getMethod("debug", new Class[]{String.class, Object[].class});
48 _infoMT = lc.getMethod("info", new Class[]{String.class, Throwable.class});
49 _infoMAA = lc.getMethod("info", new Class[]{String.class, Object[].class});
50 _warnMT = lc.getMethod("warn", new Class[]{String.class, Throwable.class});
51 _warnMAA = lc.getMethod("warn", new Class[]{String.class, Object[].class});
52 Method _isDebugEnabled = lc.getMethod("isDebugEnabled");
53 _setDebugEnabledE = lc.getMethod("setDebugEnabled", new Class[]{Boolean.TYPE});
54 _getLoggerN = lc.getMethod("getLogger", new Class[]{String.class});
55 _getName = lc.getMethod("getName");
56
57 _debug = (Boolean)_isDebugEnabled.invoke(_logger);
58 }
59 catch(Exception x)
60 {
61 throw new IllegalStateException(x);
62 }
63 }
64
65 public String getName()
66 {
67 try
68 {
69 return (String)_getName.invoke(_logger);
70 }
71 catch (Exception e)
72 {
73 e.printStackTrace();
74 return null;
75 }
76 }
77
78 public void warn(String msg, Object... args)
79 {
80 try
81 {
82 _warnMAA.invoke(_logger, args);
83 }
84 catch (Exception e)
85 {
86 e.printStackTrace();
87 }
88 }
89
90 public void warn(Throwable thrown)
91 {
92 warn("", thrown);
93 }
94
95 public void warn(String msg, Throwable thrown)
96 {
97 try
98 {
99 _warnMT.invoke(_logger, msg, thrown);
100 }
101 catch (Exception e)
102 {
103 e.printStackTrace();
104 }
105 }
106
107 public void info(String msg, Object... args)
108 {
109 try
110 {
111 _infoMAA.invoke(_logger, args);
112 }
113 catch (Exception e)
114 {
115 e.printStackTrace();
116 }
117 }
118
119 public void info(Throwable thrown)
120 {
121 info("", thrown);
122 }
123
124 public void info(String msg, Throwable thrown)
125 {
126 try
127 {
128 _infoMT.invoke(_logger, msg, thrown);
129 }
130 catch (Exception e)
131 {
132 e.printStackTrace();
133 }
134 }
135
136 public boolean isDebugEnabled()
137 {
138 return _debug;
139 }
140
141 public void setDebugEnabled(boolean enabled)
142 {
143 try
144 {
145 _setDebugEnabledE.invoke(_logger, enabled);
146 _debug = enabled;
147 }
148 catch (Exception e)
149 {
150 e.printStackTrace();
151 }
152 }
153
154 public void debug(String msg, Object... args)
155 {
156 if (!_debug)
157 return;
158
159 try
160 {
161 _debugMAA.invoke(_logger, args);
162 }
163 catch (Exception e)
164 {
165 e.printStackTrace();
166 }
167 }
168
169 public void debug(Throwable thrown)
170 {
171 debug("", thrown);
172 }
173
174 public void debug(String msg, Throwable th)
175 {
176 if (!_debug)
177 return;
178
179 try
180 {
181 _debugMT.invoke(_logger, msg, th);
182 }
183 catch (Exception e)
184 {
185 e.printStackTrace();
186 }
187 }
188
189 public void ignore(Throwable ignored)
190 {
191 if (Log.isIgnored())
192 {
193 warn(Log.IGNORED, ignored);
194 }
195 }
196
197 /**
198 * Create a Child Logger of this Logger.
199 */
200 protected Logger newLogger(String fullname)
201 {
202 try
203 {
204 Object logger=_getLoggerN.invoke(_logger, fullname);
205 return new LoggerLog(logger);
206 }
207 catch (Exception e)
208 {
209 e.printStackTrace();
210 return this;
211 }
212 }
213 }