2013-04-02 133 views
1

什麼是log4j.category.DataNucleus異常?因此,我嘗試將Log4j與Google App Engine一起使用,但在測試期間,Lo4j沒有收到異常(它們正在被儀表板拾取)。捕捉異常與Log4j

另外我想要拾取所有的錯誤。所以我已經把它添加到了主類中。這會挑起包括命運在內的所有錯誤嗎?

logger.fatal ("App Error"); 

好了,所以我嘗試這樣做:

} 
    catch(Exception e) { 
      logger.warn("Log4j has caught n exception!", e); 
      e.printStackTrace(); 
     } 

但是異常顯示在儀表板,但它不是log4j的是拿起它,因爲它不給我「的Log4j已經趕上ñ例外!」。

回答

0

什麼是log4j.category.DataNucleus異常?

log4j.logger.DataNucleus 

一般

我不使用Eclise也不Log4J的(除了DataNucleus將使用它,當然)。我在我的日誌配置文件中有以下內容。

log4j.properties

log4j.appender.A1 = org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout = org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern = %d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n 

[...] 

# Tighten logging on the DataNucleus categories to WARN. 
# This DataNucleus logging configuration appears redundant; in production, 
# DataNucleus uses Java logging instead. 
log4j.logger.DataNucleus     = WARN, A1 
log4j.logger.DataNucleus.JDO    = WARN, A1 
log4j.logger.DataNucleus.Persistence  = WARN, A1 
log4j.logger.DataNucleus.Query   = WARN, A1 
log4j.logger.DataNucleus.Lifecycle  = WARN, A1 
log4j.logger.DataNucleus.Cache   = WARN, A1 
log4j.logger.DataNucleus.MetaData  = WARN, A1 
log4j.logger.DataNucleus.Management  = WARN, A1 
log4j.logger.DataNucleus.General   = WARN, A1 
log4j.logger.DataNucleus.Connection  = WARN, A1 
log4j.logger.DataNucleus.Transaction  = WARN, A1 
log4j.logger.DataNucleus.Datastore  = WARN, A1 
log4j.logger.DataNucleus.ClassLoading = WARN, A1 
log4j.logger.DataNucleus.Plugin   = WARN, A1 
log4j.logger.DataNucleus.ValueGeneration = WARN, A1 
log4j.logger.DataNucleus.Enhancer  = WARN, A1 
log4j.logger.DataNucleus.SchemaTool  = WARN, A1 

logging.properties

handlers = java.util.logging.ConsoleHandler 
java.util.logging.ConsoleHandler.level = ALL 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

[...] 

# Set the default logging level for ORM, specifically, to WARNING 
DataNucleus.level     = WARNING 
DataNucleus.JDO.level    = WARNING 
DataNucleus.Persistence.level  = WARNING 
DataNucleus.Query.level   = WARNING 
DataNucleus.Lifecycle.level  = WARNING 
DataNucleus.Cache.level   = WARNING 
DataNucleus.MetaData.level  = WARNING 
DataNucleus.Management.level  = WARNING 
DataNucleus.General.level   = WARNING 
DataNucleus.Connection.level  = WARNING 
DataNucleus.Transaction.level  = WARNING 
DataNucleus.Datastore.level  = WARNING 
DataNucleus.ClassLoading.level = WARNING 
DataNucleus.Plugin.level   = WARNING 
DataNucleus.ValueGeneration.level = WARNING 
DataNucleus.Enhancer.level  = WARNING 
DataNucleus.SchemaTool.level  = WARNING 

logger.fatal( 「應用程序錯誤」);

我從來沒有編碼過Log4J。這個命令是否會在致命的級別上記錄文本"App Error"

Enjoy?

+0

如果您覺得我的回答很有用(您勾選了它),那麼請隨時給我一個投票它的用處。 –