Frage

Ich will mein Logfile so etwas wie folgt aussehen: 2009-02-13.log

, aber das Problem ist, dass ich keinen Weg zu finden, scheinen die Erweiterung .log hinzuzufügen.

Ich habe eine Menge Dinge ausprobiert, aber nichts hilft. Das ist, was ich habe so weit:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="Logs/Log4Net/.log"/>
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <datePattern value="yyyy-MM-dd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
    </layout>
</appender>
War es hilfreich?

Lösung

Versuchen Sie, die Erweiterung .log auf Ihr Datum Muster Hinzufügen wie so und entfernen Sie sie aus dem Dateiattribut.

<datePattern value="yyyy-MM-dd.lo\g"/>
...
<staticLogFileName value="false" />

Andere Tipps

Die anderen Antworten Flucht der „g“ in „log“ da „g“ ein Sonderzeichen in datePattern ist. Das ist nicht falsch, aber ich ziehe den gesamten Satz von nicht-Datum Zeichen in einfachen Anführungszeichen wickeln, etwa so:

<datePattern value="yyyy-MM-dd'.log'" />

Dies gibt die gleichen Ergebnisse, aber es ist einfacher für mich zu verwalten. Auf diese Weise habe ich nicht speziell sind, welche spezifischen Zeichen erinnern für datePattern (die Liste ist lang und vielfältig). Wenn ich ein Zeichen vergessen dann führe ich nicht das Risiko von Borking meine Dateinamen; sie sind alle Massen schön entkommen.

log4net jetzt bietet auch eine PreserveLogFileNameExtension Eigenschaft, die Ihre Erweiterung .log bis zum Ende der Verbindung Dateinamen (inklusive Datum Muster und / oder Größe Sequenznummer) zwingen kann:

<file value="LogFiles/.log"/>
<preserveLogFileNameExtension value="true" />
<datePattern value="yyyy-MM-dd" />

add ".lo \ g" bis zum Ende Ihrer datepattern

Das ist mein Log-Datei xml-Konfig. Der Weg in die Protokolldatei ist in dem „Datei“ Tag

Das wird eine Protokolldatei „2012-11-22.log“ unter dem Ordner „LogFiles“ in der Route Ordnern meiner Website erstellen.

Hinweis: Stellen Sie sicher, dass der Ordner existiert erste

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,     log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="INFO"/>
      <appender-ref ref="RollingFileAppender"/>
    </root>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="LogFiles/"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <maxSizeRollBackups value="5"/>
      <maximumFileSize value="10MB"/>
      <datePattern value="yyyy-MM-dd'.log'" />
      <staticLogFileName value="false"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/>
      </layout>
    </appender>
  </log4net>
</configuration>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top