2009-03-05 18 views
62

は、私は私のログファイルは、次のようなものを見てみたい: 2009-02-13.loglog4netの:ローリングファイルアペンダ、定義の拡張

をしかし、問題は、私は追加する方法を見つけるように見えることができないということです.log拡張子。

私は多くのことを試しましたが、何も助けません。 これは私がこれまでのところ持っているものです。

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

答えて

53

はそうのようなあなたの日付パターンに拡張子.logを追加してみてください、ファイルの属性から削除します。

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

も覚えてを追加する –

8

追加「.LO \ G」datePatternに特殊文字である

105

他の回答には、 『G』以来、 『ログイン』で 『G』を逃れるあなたdatepatternの終わりまで。これは間違っていないが、私はそうのように単一引用符、非日文字のセット全体を包むことを好む:

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

これは、同じ結果が得られますが、私が管理しやすいです。この方法では、特定の文字がdatePatternにとって特別な文字を呼び出す必要はありません(リストは長くて多様です)。私が1文字を忘れてしまった場合、私はファイル名をボルキングする危険はありません。彼らはすべて素敵にエスケープされています。

+3

私はこのアプローチも好んでいます。 –

+1

の値はこれとは何ですか? – ssmith

+2

@ssmith: '.log'を' 'から離します。 Log4Netはファイルの値に日付パターンを付加するので、ファイル拡張子を元のものにしたい。 –

4

これはログファイルxmlの設定です。 ログファイルへのパスは "file"タグ内にあります

これにより、私のウェブサイトのルートフォルダにある "LogFiles"フォルダの下にログファイル "2012-11-22.log"が作成されます。

注:最初にフォルダが存在することを確認してください。

<?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のは、今も(日付パターンおよび/またはサイズのシーケンス番号を含む)複合ファイル名の最後にあなたの拡張子.logを強制することができPreserveLogFileNameExtensionプロパティが用意されています

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

新しいバージョンのみである必要がありますか?私は私のシステムで動作するようにそのパラメータを得ることができませんでした。 .logを2回、ファイル値で1回、datePatternでもう1回使用する必要がなくなりました。( – Sun

+1

1.2.12で追加されたと思います –

関連する問題