2011-06-09 82 views
1

我有以下的自定義日誌記錄級別log4j的自定義日誌級別和屬性文件

public class SAMLLoggingLevel extends Level{ 

public static final String SAMLLOGGING_LEVEL = "SAMLLOGGING"; 
public static final Level SAML_EXCEPTION_LOGGING = new SAMLLoggingLevel(FATAL_INT + 1, SAMLLOGGING_LEVEL, 7); 
public static final Level SAML_DEBUG_LOGGING = new SAMLLoggingLevel(DEBUG_INT+1, SAMLLOGGING_LEVEL, 7); 
public static final Level SAML_ERROR_LOGGING = new SAMLLoggingLevel(ERROR_INT+1, SAMLLOGGING_LEVEL, 7); 

protected SAMLLoggingLevel(int level, String levelStr, int syslogEquivalent) { 
    super(level, levelStr, syslogEquivalent); 
} 
} 

我嘗試使用以下

public static Logger logger = Logger.getLogger(xyz.class); 

logger.log(SAMLLoggingLevel.SAML_DEBUG_LOGGING, "logger SAML_DEBUG_LOGGING"); 
logger.log(SAMLLoggingLevel.SAML_ERROR_LOGGING, "logger SAML_ERROR_LOGGING"); 
logger.log(SAMLLoggingLevel.SAML_EXCEPTION_LOGGING, "logger SAML_EXCEPTION_LOGGING"); 

我log4j.properteis文件看起來像這樣

log4j.logger.com.xyz=SAML_DEBUG_LOGGING, SAMLLoggingLevel 
log4j.appender.SAMLLoggingLevel=org.apache.log4j.RollingFileAppender 
log4j.appender.SAMLLoggingLevel.File=/SAML.log 
log4j.appender.SAMLLoggingLevel.layout=org.apache.log4j.PatternLayout 
log4j.appender.SAMLLoggingLevel.layout.ConversionPattern=%d{MMM dd yyyy HH:mm:ss,SSS zzz} %5p %c{1}:%L - %m%n 
登錄

我得到了com.xyz中所有類的所有debub消息。我想從

log4j.logger.com.xyz=SAML_DEBUG_LOGGING, SAMLLoggingLevel 

僅限制到使用logger.log記錄的一次(SAMLLoggingLevel ....)

回答

1

更改您的代碼

log4j.logger.com.xyz=SAML_DEBUG_LOGGING#com.yourpackagename.SAMLLoggingLevel, SAMLLoggingLevel 
+0

歡迎StackOverflow上。請查看如何使用Markdown格式(編輯框旁邊有一個問號;點擊它可以提供基本信息) – marko 2012-12-20 13:30:00