1

例外の log4j.category.DataNucleus とは何ですか? そのため、Google App Engine で Log4j を使用しようとしていますが、テスト中に例外が Lo4j によって検出されません (ダッシュボードによって検出されます)。

また、すべてのエラーをピックアップしたいと考えています。だから私はこれをメインクラスに追加しました。これは運命を含むすべてのエラーを拾いますか?

   logger.fatal ("App Error");

わかりましたので、これを試しました:

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

ただし、例外はダッシュボードに表示されますが、「Log4j が n 例外をキャッチしました!」というメッセージが表示されないため、それを拾っているのは log4j ではありません。

4

1 に答える 1

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"、致命的なレベルでテキストのエントリをログに記録するだけではありませんか?

楽しみ?

于 2013-04-02T16:45:19.560 に答える