から任意のクラスでログインできるように:ShutdownHookが終了する前にそのロガーを避けるために、どのようにはどのようshutdownHookを想定shutdownHook
class ShutdownHolder extends Thread {
public void run() {
Logger logger = LoggerFactory.getCoreLogger(ShutdownHolder.class);
try {
logger.info("Shutdown hook is running...");
doSomething();
logger.info("Shutdown hook end.");
} catch(Exception e) {
logger.severe("Unexpected ERROR during shutdown", e);
}
}
}
閉じられていないのですか?
たとえば、doSomething()メソッドは、ログを書き込む他のアクセス可能なクラスのいくつかのメソッドを呼び出すことができます。私はこれらのログをすべてスキップしたくありません。
どういう意味ですか?なぜロガーが閉鎖されるのですか? 'doSomething()'は 'run()'メソッドに戻るはずですね。 – adarshr
http://docs.oracle.com/cd/E17409_01/javase/6/docs/api/java/lang/Runtime.html#addShutdownHook%28java.lang.Thread%29 "これらのサービスには、独自のシャットダウンフックを登録している可能性があり、シャットダウンの過程にある可能性があります。 Loggerは独自のshutdownHookを持っているようです。 – Mik378