NullPointerExceptionがJDKロガーが原因

我々は通常、ロガーを取得するために使用され、ログにJDKログを呼び出します
 Logger logger = Logger.getLogger("xxxx");  


ロガーのログ方法は、後に呼び出します。
    public void log(Level level, String msg) {
if (level.intValue() < levelValue || levelValue == offValue) {
return;
}
LogRecord lr = new LogRecord(level, msg);
doLog(lr);
}

しかし、詳細が懸念されていません。インナークラスの配列で情報を記録するたLogRecordロガーであるが、実際には、使用が方法RMIで送信することができます。
今日では、問題のNullPointerExceptionが生成を扱うインチ 根本的な原因は、とき、ロギングと呼ばれるlogger.log()我々自身のコードの方法であるが、この方法をログに記録するLogRecordを渡され、これは彼の新しいレコードのうちで、このような方法を使用してログインするレベルとログ情報との差分を渡します属性に割り当てられdoLog Loggerクラスの値のようなloggerNameの意志たLogRecord方法という点で、
  private void doLog(LogRecord lr) {
lr.setLoggerName(name);
String ebname = getEffectiveResourceBundleName();
if (ebname != null) {
lr.setResourceBundleName(ebname);
lr.setResourceBundle(findResourceBundle(ebname));
}
log(lr);
}

そして、LogRecordのうち、私たち自身の新しいは、単にnullのコンストラクタを呼び出すと、それらloggerNameプロパティの割り当てを与えていない、バックでログを表示LoggerNameに係る情報の異なるモジュールを区別する必要性は、等号を実行するには、この時間はloggerNmaeを呼び出しますメソッドはNullPointerExceptionになります。
公開された56元の記事 ウォンの賞賛0 ビュー7794

おすすめ

転載: blog.csdn.net/chainhou/article/details/84412077