1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.access.jetty;
15
16 import ch.qos.logback.access.spi.IAccessEvent;
17 import ch.qos.logback.access.PatternLayoutEncoder;
18 import ch.qos.logback.access.testUtil.NotifyingListAppender;
19 import ch.qos.logback.core.ConsoleAppender;
20
21 public class JettyFixtureWithListAndConsoleAppenders extends JettyFixtureBase {
22
23 public JettyFixtureWithListAndConsoleAppenders(RequestLogImpl impl, int port) {
24 super(impl, port);
25 url = "http://localhost:" + port + "/";
26 }
27
28 public void start() throws Exception {
29 super.start();
30 Thread.yield();
31 }
32
33 public void stop() throws Exception {
34 super.stop();
35 Thread.sleep(500);
36 }
37
38 @Override
39 protected void configureRequestLogImpl() {
40 NotifyingListAppender appender = new NotifyingListAppender();
41 appender.setContext(requestLogImpl);
42 appender.setName("list");
43 appender.start();
44
45 ConsoleAppender<IAccessEvent> console = new ConsoleAppender<IAccessEvent>();
46 console.setContext(requestLogImpl);
47 console.setName("console");
48 PatternLayoutEncoder layout = new PatternLayoutEncoder();
49 layout.setContext(requestLogImpl);
50 layout.setPattern("%date %server %clientHost");
51 console.setEncoder(layout);
52 layout.start();
53 console.start();
54
55 requestLogImpl.addAppender(appender);
56 requestLogImpl.addAppender(console);
57 }
58 }