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