Javaの標準ライブラリでログを出力してくれるLogging APIについては、
以下のサイトに詳しく書いてある↓
http://www.02.246.ne.jp/~torutk/javahow2/logging.html
Logging APIのJava SE6からJava SE7への主な変更点
①Logger.getLoger(Logger.GLOBAL_LOGGER_NAME)は非推奨になったので、
Logger.getGlobal()を使うこと
(非推奨になった理由 このグローバル定数は初期化時にデッドロックが発生する可能性がある)
②SimpleFormatterクラスのフォーマットをプロパティで記述できる
(Java SE 6まではSimpleFormatterクラスのサブクラスを定義しないといけなかった)
しかし、(Java SE7 update17時点では)実装に問題があり、ログが出ないことがある。
logger.setLevel(Level.INFO)を呼び出すことで回避できるらしい。
が、コンソール出力はOKだが、ファイル出力はNGだった。
(例)ソースの一部
Logger logger = Logger.getGlobal(); // Logger.GLOBAL_LOGGER_NAME)は非推奨
logger.setLevel(Level.INFO); // バグ回避
logger.info("info log");
0 件のコメント:
コメントを投稿