加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在RollingFileAppender文件的文件名中添加日期

发布时间:2020-12-15 23:23:04 所属栏目:百科 来源:网络整理
导读:嗨,我现在使用log4net一段时间了.这是我的记录器: public static class LoggerSetup{ private static RollingFileAppender _roller; private static PatternLayout _patternLayout; static LoggerSetup() { // root config Hierarchy hierarchy = (Hierarch
嗨,我现在使用log4net一段时间了.这是我的记录器:

public static class LoggerSetup
{
    private static RollingFileAppender _roller;
    private static PatternLayout _patternLayout;

    static LoggerSetup()
    {
        // root config
        Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
        hierarchy.Root.Level = Level.Debug;
        hierarchy.Configured = true;

        // prepare appender
        _roller = new RollingFileAppender();
        _patternLayout = new PatternLayout();
        _roller.Layout = _patternLayout;


        hierarchy.Root.AddAppender(_roller);

        _fileDirectory = "Log";
        Setup();
    }

    /// <summary>
    /// Location to save logfile
    /// </summary>
    public static string FileDirectory
    {
        get
        {
            return _fileDirectory;
        }
        set
        {
            _fileDirectory = value;
            Setup();

        }
    }
    private static string _fileDirectory;

    public static string DatePattern
    {
        get { return "_yyyy-MM-dd"; }
    }

    public static void Setup()
    {
        _roller.AppendToFile = true;
        _roller.File = FileDirectory + @"/" + "Log.log";
        _roller.StaticLogFileName = true;
        _roller.PreserveLogFileNameExtension = true;
        _roller.LockingModel = new FileAppender.MinimalLock();
        _roller.MaxSizeRollBackups = -1; //--> Logger doesnt delete files himself
        _roller.RollingStyle = RollingFileAppender.RollingMode.Composite;
        _roller.MaximumFileSize = "10KB";
        _roller.DatePattern = DatePattern;

        _patternLayout.ConversionPattern = "%date [%-5level] %message%newline";
        _patternLayout.ActivateOptions();

        _roller.ActivateOptions();

    }
}

如您所见,这个Appender创建了maxsize 10K的日志文件,它也将每天滚动.此Configruation生成日志文件名,如下所示:

> Log.log_2015-03-04,
> Log.1.log_2015-03-04,
> Log.2.log_2015-03-04,
> Log.log_2015-03-03,
> Log.1.log_2015-03-03,
> Log.2.log_2015-03-03

但今天创建的日志看起来像这样

> Log.log,
> Log.1.log,
> Log.2.log

我想要的是文件名看起来像这样:Log_yyyy-mm-dd_nr.log

那么我该如何改变呢?

解决方法

我猜你已经将StaticLogFileName更改为true:

_roller.StaticLogFileName = true;

使用日期滚动样式时,它应该是false:

_roller.StaticLogFileName = false;

[tips-on-using-log4net-rollingfileappender]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读