Pergunta

Eu quero o meu arquivo de log para algo parecido com isto: 2009-02-13.log

mas o problema é que eu não consigo encontrar alguma maneira de adicionar a extensão .log.

Eu tentei um monte de coisas, mas nada ajuda. Isto é o que eu tenho até aqui:

<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>
Foi útil?

Solução

Tente adicionar a extensão .log para o seu padrão de data como assim e removê-lo do atributo de arquivo.

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

Outras dicas

As outras respostas escapar do "g" em "log", já que "g" é um caractere especial em datePattern. Isso não é errado, mas eu prefiro a envolver todo o conjunto de caracteres não-data entre aspas simples, assim:

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

Isto dá os mesmos resultados, mas é mais fácil para mim gerir. Dessa forma, eu não tenho a recordação que caracteres específicos são especiais para datePattern (a lista é longa e variada). Se eu esquecer um personagem, então eu não correr o risco de Borking meus nomes de arquivos; eles estão todos muito bem escaparam em massa.

log4net agora também fornece uma propriedade PreserveLogFileNameExtension que pode forçar seu extensão.log ao final do nome do arquivo composto (incluindo padrão de data e / ou número de sequência de tamanho):

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

adicionar ".lo \ g" ao final do seu datepattern

Este é o meu arquivo de log de configuração XML. O caminho para o arquivo de log está na tag "file"

Isto irá criar um arquivo de log "2012-11-22.log" sob o título "LogFiles" pasta na pasta rota de meu site.

NOTA: Certifique-se de que a pasta existe first

<?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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top