Javaを使用したAppEngineアプリケーションがあります。JUL(java.util.logging)を使用してサーバー側のログをログに記録しています。ファサード呼び出しCustomLoggerを作成しています。この呼び出しでは、ファクトリを使用してコンストラクターにJULロガーを作成します。
@Inject
public CustomLogger( EmailLoggingHandler handler ){
this.logger = Logger.getLogger( "ServerLogger" );
logger.addHandler( handler );
}
CustomLoggerのインスタンスはeagerSingletonとしてバインドされます。つまり、Guiceインスタンスごとにこのクラスのインスタンスが1つだけインスタンス化されます。eagerSingletonとして依存関係ツリーの一部でもあるカスタムロガー(EmailLoggingHandler)を挿入するまで、すべてが機能していました。
@Inject
public EmailLoggingHandler( SendEmailHelper emailHelper ){
this.emailHelper = emailHelper;
setLevel(Level.SEVERE);
}
私が得ているエラー:
Error injecting constructor, java.security.AccessControlException: access denied (java.util.logging.LoggingPermission control)
なぜこれが起こっているのか誰かが知っていますか?