net loglevel log example app log4net config rollingfileappender

example - log4net loglevel



Log4Net: apilador Rolling File, definir extensión (5)

Quiero que mi archivo de registro se vea así: 2009-02-13.log

pero el problema es que no puedo encontrar ninguna forma de agregar la extensión .log.

He intentado muchas cosas, pero nada ayuda. Esto es lo que tengo hasta ahora:

<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>


Este es mi archivo de registro xml config. La ruta al archivo de registro está en la etiqueta "archivo"

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 exista 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>


Intente agregar la extensión .log a su patrón de fecha como tal y eliminarlo del atributo de archivo.

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


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

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

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


agregue ".lo / g" al final de su patrón de fecha


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

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