1. ホーム
  2. log4net

[解決済み] LogManager.GetLoggerのlog4net引数

2023-01-03 13:17:51

質問

なぜ、ほとんどのlog4netの例では、このようにしてクラスのロガーを取得するのでしょうか。

private static ILog logger = 
    LogManager.GetLogger(
    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

typeof(MyClass)を渡すよりも。

private static ILog logger = LogManager.GetLogger(typeof(MyClass));

最初のオプションが特定のクラス名を入力する必要がないという事実の他に、このようにする理由はありますか?

どのように解決するのですか?

理由はわかったと思います。私はそのようにして、クラス名を気にする必要がなく、新しいクラスにボイラープレート・コードをコピー・アンド・ペーストできるようにしています。

正式な回答は、以下を参照してください。静的ブロック内のクラスの完全修飾名を取得するにはどうすればよいですか? をご覧ください。 log4net faq