0

log4net は、ログ ファイル名を "Application.20130125.txt" として、ログ ファイルの作成時に "Application.yyyyMMdd.txt" の形式で日付ごとに作成する必要があります。

日付が変わると、「Application.20130126.txt」として新しいログファイルが作成されます。

日付が最初に作成され、ローリング時に日付「Application.20130126.txt」の新しいファイルが作成されるように、以下のコードにどのような変更を加える必要があるかを提案してください。

            LogPath = "C:\Logs\"
            fileName = "ApplicationName" & "..txt"

            hierarchy = DirectCast(LogManager.GetRepository(), Hierarchy)
    patternLayout.ConversionPattern = "%m%n"
    patternLayout.ActivateOptions()
    roller.Layout = patternLayout
    roller.RollingStyle = RollingFileAppender.RollingMode.Date
    roller.DatePattern = "yyyyMMdd"
    roller.AppendToFile = True
    roller.StaticLogFileName = True
    roller.File = LogPath & fileName
    roller.PreserveLogFileNameExtension = True
    roller.ActivateOptions()
    hierarchy.Root.AddAppender(roller)
    hierarchy.Root.Level = Level.Debug
    hierarchy.Configured = True
    log = LogManager.GetLogger("RollingFileAppender")
4

1 に答える 1

2

必要に応じてファイルに書き込むサンプルを以下に示します。

    Dim fileappender = New log4net.Appender.RollingFileAppender()
    fileappender.AppendToFile = True
    fileappender.Threshold = log4net.Core.Level.Debug
    fileappender.File = "MyLogFile_"
    fileappender.DatePattern = "yyyyMMdd"
    fileappender.StaticLogFileName = False
    fileappender.Layout = New log4net.Layout.SimpleLayout()
    fileappender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date
    fileappender.ActivateOptions()
    DirectCast(log4net.LogManager.GetRepository(), log4net.Repository.Hierarchy.Hierarchy).Root.AddAppender(fileappender)
    log4net.Config.BasicConfigurator.Configure(fileappender)

上記は、今日「MyLogFile_20130125」というファイル名のログ ファイルを作成し、日時が変更されると、「MyLogFile_20130126」という新しいファイルを書き込みます。

または、datePattern を に設定してテストすることもできます。これにより"yyyyMMddhhmm"、1 分ごとに新しいログ ファイルが書き込まれます。

于 2013-01-25T14:29:20.373 に答える