1 17 18 package org.apache.geronimo.system.logging.log4j; 19 20 import org.apache.log4j.spi.Filter; 21 import org.apache.log4j.spi.LoggingEvent; 22 23 28 public class NamedNDCFilter extends Filter { 29 private NamedNDC namedNDC; 30 private String name; 31 private String value; 32 private boolean acceptOnMatch = true; 33 34 public String getName() { 35 return name; 36 } 37 38 public void setName(final String name) { 39 this.name = name; 40 namedNDC = NamedNDC.getNamedNDC(name); 41 } 42 43 public String getValue() { 44 return value; 45 } 46 47 public void setValue(final String value) { 48 this.value = value; 49 } 50 51 public boolean getAcceptOnMatch() { 52 return acceptOnMatch; 53 } 54 55 public void setAcceptOnMatch(final boolean acceptOnMatch) { 56 this.acceptOnMatch = acceptOnMatch; 57 } 58 59 public int decide(LoggingEvent event) { 60 if (value == null) { 61 return Filter.NEUTRAL; 62 } 63 64 Object ndcValue = namedNDC.get(); 65 if (ndcValue == null) { 66 return Filter.NEUTRAL; 67 } 68 69 if (value.equals(ndcValue.toString())) { 70 if (acceptOnMatch) { 71 return Filter.ACCEPT; 72 } else { 73 return Filter.DENY; 74 } 75 } 76 return Filter.NEUTRAL; 77 } 78 } 79 | Popular Tags |