log4j-1.2.9自定義Appender


import org.apache.log4j.spi.LoggingEvent;

public class SpecialAppender extends org.apache.log4j.RollingFileAppender {
    
private String prefix = "";

    
public SpecialAppender() {
        addFilter(
new MyFilter());
    }


    
private class MyFilter extends org.apache.log4j.spi.Filter {
        
public MyFilter() {
        }


        
// @Override
        public int decide(LoggingEvent loggingEvent) {
            
if (loggingEvent == null || loggingEvent.getMessage() == null{
                
return super.DENY;
            }

            
if (loggingEvent.getMessage().toString().startsWith(prefix)) {
                
return super.ACCEPT;
            }

            
return super.DENY;
        }

    }


    
public String getPrefix() {
        
return prefix;
    }


    
public void setPrefix(String prefix) {
        
this.prefix = prefix;
    }


}

過濾器 MyFilter 過濾以prefix(在log4j.properties中配置的)爲前綴的Message. 如果MESSAGE以prefix爲前綴則打印log.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章