1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.server;
20
21 import java.io.IOException;
22
23 import org.eclipse.jetty.util.annotation.ManagedObject;
24 import org.eclipse.jetty.util.log.Slf4jLog;
25
26
27
28
29 @ManagedObject("NCSA standard format request log to slf4j bridge")
30 public class Slf4jRequestLog extends AbstractNCSARequestLog
31 {
32 private Slf4jLog logger;
33 private String loggerName;
34
35 public Slf4jRequestLog()
36 {
37
38 this.loggerName = "org.eclipse.jetty.server.RequestLog";
39 }
40
41 public void setLoggerName(String loggerName)
42 {
43 this.loggerName = loggerName;
44 }
45
46 public String getLoggerName()
47 {
48 return loggerName;
49 }
50
51 @Override
52 protected boolean isEnabled()
53 {
54 return logger != null;
55 }
56
57 @Override
58 public void write(String requestEntry) throws IOException
59 {
60 logger.info(requestEntry);
61 }
62
63 @Override
64 protected synchronized void doStart() throws Exception
65 {
66 logger = new Slf4jLog(loggerName);
67 super.doStart();
68 }
69 }