2009-03-05 18 views
62

benim günlük dosyası böyle bir şey bakmak istiyorum: 2009-02-13.logLog4Net: Rolling Dosya appender tanımlamak uzatma

ama sorun ben eklemek için herhangi bir yol bulmak gibi olamaz ki .log uzantısı.

Çok fazla şey denedim ama hiçbir şey yardımcı olmuyor. Bu benim bu kadar ne var:

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

cevap

53

deneyin şöyle tarih desenine .log uzantısı ekleyip dosya özniteliği çıkarın.

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

Ayrıca hatırlamak

8

eklenti ".lo \ g" datePattern içinde özel bir karakterdir

105

diğer cevaplar "g" beri "log" nde "g" kaçış senin datepattern sonuna. Bu yanlış değil, ama öyle gibi tek tırnak içinde tarih olmayan karakterlerin tüm seti tamamlamayı tercih:

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

Bu aynı sonuçları verir fakat beni yönetmek için daha kolaydır. Bu şekilde, datePattern için hangi özel karakterlerin özel olduğunu (liste uzun ve çeşitli) hatırlamak zorunda değilim. Eğer bir karakteri unutursam, dosya isimleriyle uğraşma riskini kullanmıyorum. hepsi çok güzelce kaçıyorlar.

+3

eklemek için Ben de bu yaklaşımı tercih ederim. –

+1

Peki bununla için sahip olduğunuz değer nedir? – ssmith

+2

@ssmith: '.log' öğesini ' dan bırakın. Log4Net, datepattern'i dosya değerine ekler, böylece dosya uzantısını eskiden istersiniz. –

4

Bu, günlük dosyam xml config'tir. Günlük dosyasının yolu "dosya" etiketinde

Bu, web sitemin yol klasöründeki "LogFiles" klasörünün altında "2012-11-22.log" günlük dosyası oluşturur.

NOT: Klasörün önce var olduğundan emin olun!

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

log4net şimdi de (tarih kalıbı ve/veya boyut dizisi numarası dahil) bileşik dosya adının sonuna kadar .log uzantısı zorlayabilir bir PreserveLogFileNameExtension özellik sunar:

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

Sadece daha yeni versiyonlarda olmalıdır? Sistemimde çalışmak için bu parametreyi alamadım. .log iki kez, dosya değeri bir kez ve datePattern başka bir kez kullanmak zorunda sona erdi: ( – Sun

+1

Ben 1.2.12 yılında eklendiğine inanıyorum –