log4net
Javaでログ出力といえば、log4j。apache logging
.NETでログ出力というと、何でしょうね。探さなくても、apacheにありました。log4netです。使用感はlog4jと同じ。Javaと.NETは似ていますからね。
私としてはlog4net、かなりおすすめです。特に~.exe.config(Javaにおけるpropertiesファイルと同じ扱い)に諸設定を記述します。configファイルは、xml形式なので、意味が明確で扱いやすいなぁと思っています。
たとえばlog4jの場合、次のような感じでルートを指定します。
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4netの場合、次のようになります。
<root>
<priority value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
</root>
propertiesファイルはWindowsのiniファイルと似ているので、階層構造にするためには色々とやらねばならない。そこでlog4jでは変数、上記の例で言うとA1、を割り当てて、それを使いまわすことで階層的な構成にしていますが、XMLなら容易いし、可視性が向上しています。
それからポイントとして、VS.NETなどでコンパイルするとconfigファイルは削除されてしまいます。そのためビルド後のイベントで、
copy configファイルの在処 $(TargetDir)とか設定しておくと、結構重宝しますね。
Comments