1

キュー システムを介してメッセージを受信するアプリケーションがあります。各メッセージを独自のファイルに記録したいと考えています。ファイル名はメッセージ ID です。ファイル名内のイベントコンテキストを使用してこれを達成する方法を見つけました。

maxArchiveFiles 設定は何の影響もありませんが、おそらくファイルをアーカイブしていないためです。この構成を使用して、NLog を活用して、日付またはカウントでファイル数を制限する方法はありますか?

 <target name="testfile" xsi:type="File"
            layout="${message}"
            fileName="c:\SupportLogs\${event-context:item=MessageId}.txt"
            maxArchiveFiles="50"
            keepFileOpen="false"
            encoding="iso-8859-2" />


    NLog.Logger oLogger = NLog.LogManager.GetLogger("Test");
    NLog.LogEventInfo oEvent = new NLog.LogEventInfo(NLog.LogLevel.Debug, "", "My Message");
    oEvent.Properties["MessageId"] = Guid.NewGuid().ToString();
    oLogger.Log(oEvent);
4

1 に答える 1

1

残念ながら、現時点ではこれは NLog では不可能です。ログファイルは自分でクリーンアップする必要があります。

于 2013-05-24T22:35:57.330 に答える