GetLoggerで作成されたインスタンスの保持はどのように行うものなのでしょうか。
ページ内で完結する処理であれば
http://www.atmarkit.co.jp/fdotnet/vblab/extcompo_01/log4net_04.html
のリスト15にあるようにページクラスのインスタンス変数として宣言し、
そこで初期化を行えばいいのでしょうが、ビジネスロジック処理などが別クラスとしてある場合、そのクラスの中でもログを出力する必要があると思います。
その場合、クラスそれぞれで同様にインスタンスを作成するのか、ページで作成したインスタンスを引き渡すのか、
どのように行ったらいいか迷ってます。
シングルトンを使って、アプリレベルで一つのインスタンスを使いまわすことも考えたのですが、
さすがにそれだといろいろ問題があるでしょうし。
「私はこうやっている」とか、メリット、デメリットなどありましたら教えていただけないでしょうか?
●Loggerはスレッドセーフなので、一つのインスタンスを複数スレッドで使いまわしても問題がない。
(スレッドセーフってそういう意味でいい?)
●ただし、ログに出力もとのクラスを記載する。出力元によって動作を変えたりすることができるようにする。等の理由で、通常はクラス単位でShared(クラスフィールド?)でインスタンスを作成することが一般的。