0.前置き

.NETのロギングライブラリーのなかで、NLogは比較的よく使われます。
そんなNLogの豆知識。。。(最近NLogをよく利用するので初めて知ったことはなるべく書き留めようかと)

今日はconfigファイルの分割方法。
巨大なNLog.configができてしまった場合や、複数の設定ファイルで同じような設定をしてた場合、有効です。

1.NLogの紹介

開発はGitHubで行われています。
NLog – Advanced .NET and Silverlight Logging
2.1が最新。3.0がもうすぐ出るらしい。

インストールは、nugetを利用してください。

2.やってみた

書き方は簡単で、include要素を利用するだけです。
親のファイルを下のように書いて、

[sourcecode language=”xml”]
<?xml version="1.0" encoding="utf-8" ?>
<nlog …>
<include file="NLogChild.config"/>
</nlog>
[/sourcecode]

子供のファイル(NLogChild.config)を下のように書けばOK。

[sourcecode language=”xml”]
<?xml version="1.0" encoding="utf-8" ?>
<nlog …>
<targets>
<target xsi:type="File"
name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="f" />
</rules>
</nlog>
[/sourcecode]

簡単。
(上のconfigは読みやすいように関係ないところを省略してます。)

3.最後に

ログつながりで、fluentdとか使えるようになりたい。