1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.access.common.pattern;
15
16 import ch.qos.logback.access.common.spi.IAccessEvent;
17 import ch.qos.logback.core.util.OptionHelper;
18
19 public class RequestHeaderConverter extends AccessConverter {
20
21 String key;
22
23 @Override
24 public void start() {
25 key = getFirstOption();
26 if (OptionHelper.isNullOrEmpty(key)) {
27 addWarn("Missing key for the requested header. Defaulting to all keys.");
28 key = null;
29 }
30 super.start();
31 }
32
33 @Override
34 public String convert(IAccessEvent accessEvent) {
35 if (!isStarted()) {
36 return "INACTIVE_HEADER_CONV";
37 }
38
39 if (key != null) {
40 return accessEvent.getRequestHeader(key);
41 } else {
42 return accessEvent.getRequestHeaderMap().toString();
43 }
44 }
45
46 }