プロジェクトで ASP.NET MVC、Castle Windsor、および Log4Net を使用しています。
ロギング コンポーネントに次のようなものがあります。
public class Log4NetLoggerService : ILoggerService
{
private readonly ILog _logger;
public Log4NetLoggerService()
{
_logger = LogManager.GetLogger(typeof(Log4NetLoggerService));
}
}
しかしもちろん、これによりログファイルに「Log4NetLoggerService」が表示されます...
今、私が望むのは、ログ コンポーネントが解決/構築されているコンシューマ クラスを調べることです。
StackFrame クラスを使用してみましたが、うまくいきませんでした (ロギング サービスが暗黙的に (IoC) 解決されるか、IKernel.Resolve への直接呼び出しを使用して解決される可能性があるため)。
Windsor フレームワークでこれを行う方法がいくつかあるはずですが、何も見つかりませんでした...
ありがとう!