2013-04-02 135 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

如果您觉得我的回答很有用(您勾选了它),那么请随时给我一个投票它的用处。 –