1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.servlet.jetty;
12
13 import org.mule.module.logging.MuleLoggerFactory;
14 import org.mule.util.StringMessageUtils;
15
16 import java.util.ArrayList;
17 import java.util.List;
18
19 import org.mortbay.log.Logger;
20 import org.slf4j.ILoggerFactory;
21 import org.slf4j.impl.StaticLoggerBinder;
22
23 public class JettyLogger implements Logger
24 {
25 private org.slf4j.Logger logger;
26
27 public JettyLogger()
28 {
29 super();
30 initLogger();
31 }
32
33 protected void initLogger()
34 {
35 ILoggerFactory loggerFactory = StaticLoggerBinder.getSingleton().getLoggerFactory();
36 String message = null;
37 if ((loggerFactory instanceof MuleLoggerFactory) == false)
38 {
39 List<String> messages = new ArrayList<String>();
40 messages.add("Mule's StaticLoggerBinder should be installed but isn't.");
41 messages.add("Logger factory in place is: " + loggerFactory.getClass().getName());
42 message = StringMessageUtils.getBoilerPlate(messages, '!', 70);
43 }
44
45 logger = loggerFactory.getLogger("org.mortbay.jetty");
46 if (message != null)
47 {
48 logger.warn(message);
49 }
50 }
51
52 @Override
53 public boolean isDebugEnabled()
54 {
55 return logger.isDebugEnabled();
56 }
57
58 @Override
59 public void setDebugEnabled(boolean enabled)
60 {
61 warn("Ignoring call to unsupported method 'setDebugEnabled'", null, null);
62 }
63
64 @Override
65 public void info(String msg, Object arg0, Object arg1)
66 {
67 logger.info(msg, arg0, arg1);
68 }
69
70 @Override
71 public void debug(String msg, Throwable th)
72 {
73 logger.debug(msg, th);
74 }
75
76 @Override
77 public void debug(String msg, Object arg0, Object arg1)
78 {
79 logger.debug(msg, arg0, arg1);
80 }
81
82 @Override
83 public void warn(String msg, Object arg0, Object arg1)
84 {
85 logger.warn(msg, arg0, arg1);
86 }
87
88 @Override
89 public void warn(String msg, Throwable th)
90 {
91 logger.warn(msg, th);
92 }
93
94 @Override
95 public Logger getLogger(String name)
96 {
97 return this;
98 }
99 }