10

基本的な配線は単純明快に思えますが、通常のように NLog を構成する方法を理解するのに苦労しています。次の設定が与えられた場合、テキスト ファイルをフォルダーにダンプするには、どのように構成を設定すればよいでしょうか?

アプリホスト:

LogManager.LogFactory = new NLogFactory();

アプリ ロジック:

ILog log = LogManager.GetLogger(GetType());

log.InfoFormat("Something happened");

次のような構成ファイル:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<targets>
<target name="console" xsi:type="ColoredConsole"
 layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}" />
<target name="file" xsi:type="File" fileName="${specialfolder:folder=ApplicationData}/logs/App.log"
 layout="${date}: ${message}" />
<target name="eventlog" xsi:type="EventLog" source="My App" log="Application"
layout="${date}: ${message} ${stacktrace}" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="file" />
<logger name="*" minlevel="Fatal" writeTo="eventlog" />
</rules>

4

1 に答える 1

7

理想的には、AppHost が初期化される前にログを指定する必要があります。そのため、ServiceStack 内のすべてのクラスのすべての静的初期化子は、構成されたロガーを使用します。たとえば、次のようになります。

LogManager.LogFactory = new NLogFactory();
var appHost = new AppHost();
appHost.Init();
于 2013-04-04T17:39:11.490 に答える