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 convert(ILoggingEvent event) {
34 if (key == null) {
35 return "Property_HAS_NO_KEY";
36 } else {
37 LoggerContextVO lcvo = event.getLoggerContextVO();
38 Map<String, String> map = lcvo.getPropertyMap();
39 String val = map.get(key);
40 if (val != null) {
41 return val;
42 } else {
43 return System.getProperty(key);
44 }
45 }
46 }
47 }