私はこのようなものを使いたくない:
Logger.getLogger(MyClass.class).info("Info message");
何かを記録したいたびに。
私は次のようなメソッドを持つロギングサービスを実装しようとしました:
public void info(final Object aMessage, final Object aSender);
これにより、送信者のクラスに基づいてLoggerインスタンスを取得できますが、ログソースクラスのメソッドと行が非表示になります。
私はAOPやSlf4jのような代替案について知っています。最初のものは私が望んでいるものではなく、2番目のものはコードの最初の行に似たものを紹介します:
LoggerFactory.getLogger(HelloWorld.class).info("Info message");
したがって、私の懸念はLog4jの依存関係を隠すことではなく、次のようにアプリケーション全体でロギング呼び出しを統合することです。
//loggingController instance was injected previously
loggingControler.info("Info message",this);
これを実装する方法はありますか?