0

私の希望の出力は、「rolling.log」ファイルが2012年6月26日までに作成および変更された場合、翌日(27-06-2012)にそのファイルの名前を「rolling-26-06-2012..log」に変更する必要があることです. 現在、出力は「rolling-27-06-2012.log」ファイルです。

以下は、web.config ファイルの現在のログ設定です。

<*loggingConfiguration name="" traceEnabled="true" defaultCategory="myTestLog">

<*listeners>

  <*add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="C:\Project\Others\Testing\testMSLogging\rolling.log"
    formatter="Text Formatter" rollFileExistsBehavior="Increment"
    rollInterval="Minute" rollSizeKB="50" timeStampPattern="yyMMdd"
    filter="Information" />

  <*add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="C:\Project\Others\Testing\testMSLogging\testMSLogging\trace.log"
    formatter="Text Formatter" filter="Error" />
</listeners>

<*formatters>

  <*add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}"
    name="Text Formatter" />
</formatters>

<*categorySources>

  <*add switchValue="All" name="myTestLog">
    <*listeners>
      <add name="Rolling Flat File Trace Listener" />
    </listeners>
  </add>
</categorySources>

<*specialSources>

  <*allEvents switchValue="All" name="All Events" />
  <*notProcessed switchValue="All" name="Unprocessed Category" />
  <*errors switchValue="All" name="Logging Errors &amp; Warnings">
    <listeners>
      <add name="Flat File Trace Listener" />
    </listeners>
  </errors>
</specialSources>

誰か助けてください。どうもありがとう。

4

1 に答える 1

0

残念ながら、これは Enterprise Library での動作方法です。デフォルトのフラット ファイル ローラーの背後にある哲学は、すべての出力を FILE.LOG に記録し、ロール イベントが発生すると、名前を FILE-ROLL-NAME.LOG に変更し、新しい FILE.LOG を作成することです。別の動作が必要な場合、独自のロギング トレース リスナーを作成するか、log4net などの他のツールを使用する必要がある場合があります。

于 2012-10-11T15:05:52.257 に答える