1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.classic.pattern;
15
16 import java.util.Map;
17
18 import ch.qos.logback.classic.spi.ILoggingEvent;
19 import ch.qos.logback.classic.spi.LoggerContextVO;
20
21 public final class PropertyConverter extends ClassicConverter {
22
23 String key;
24
25 public void start() {
26 String optStr = getFirstOption();
27 if (optStr != null) {
28 key = optStr;
29 super.start();
30 }
31 }
32
33 public String getKey() {
34 return key;
35 }
36
37 public String convert(ILoggingEvent event) {
38 if (key == null) {
39 return "Property_HAS_NO_KEY";
40 } else {
41 LoggerContextVO lcvo = event.getLoggerContextVO();
42 Map<String, String> map = lcvo.getPropertyMap();
43 String val = map.get(key);
44 if (val != null) {
45 return val;
46 } else {
47 return System.getProperty(key);
48 }
49 }
50 }
51 }