Log4Net: Archivo Rolling appender, definir extensión


Quiero que mi archivo de registro se vea algo como esto: 2009-02-13.log

Pero el problema es que parece que no puedo encontrar ninguna manera de agregar el .extensión de registro.

He intentado muchas cosas pero nada ayuda. Esto es lo que tengo hasta aquí:

<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>
Author: Philipp M, 2009-03-05

5 answers

Intente agregar el .log extensión a su patrón de fecha como así y eliminarlo del atributo de archivo.

<datePattern value="yyyy-MM-dd.lo\g"/>
...
<staticLogFileName value="false" />
 53
Author: gregwhitaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-21 02:32:57

Las otras respuestas escapan a la "g" en "log" ya que "g" es un carácter especial en datePattern. Esto no está mal, pero prefiero envolver todo el conjunto de caracteres sin fecha en comillas simples, así:

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

Esto da los mismos resultados, pero es más fácil de manejar para mí. De esta manera, no tengo que recordar qué caracteres específicos son especiales para datePattern (la lista es larga y variada). Si olvido un personaje, entonces no corro el riesgo de borrar los nombres de mis archivos; todos están muy bien escapó en masa.

 107
Author: Craig Walker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-16 17:12:11

Log4net ahora también proporciona una propiedad PreserveLogFileNameExtension que puede forzar su .extensión de registro al final del nombre del archivo compuesto (incluyendo patrón de fecha y/o número de secuencia de tamaño):

<file value="LogFiles/.log"/>
<preserveLogFileNameExtension value="true" />
<datePattern value="yyyy-MM-dd" />
 17
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-15 08:37:57

Añadir ".lo \ g " al final de su datepattern

 8
Author: DevinB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-05 14:59:07

Esta es mi configuración xml del archivo de registro. La ruta al archivo de registro está en la etiqueta" file "

Esto creará un archivo de registro "2012-11-22.log "en la carpeta "LogFiles" en la carpeta de ruta de mi sitio web.

NOTA: asegúrese de que la carpeta existe primero!

<?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>
 4
Author: Talon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-01 15:54:30