How to add log4net appender in runtime?

后端 未结 2 1712
不思量自难忘°
不思量自难忘° 2020-12-09 17:52

How do I add an extra log appender in runtime? (all pre-existing appenders must keep on working)
I\'m trying it this way:

        var layout = new Patter         


        
相关标签:
2条回答
  • 2020-12-09 18:26

    You should also add the appender to a logger. Take a look here Adding Appenders programmatically

    If the logger you are using is, for example ILog logger do:

    ((log4net.Repository.Hierarchy.Logger)logger.Logger).AddAppender(appender)

    0 讨论(0)
  • 2020-12-09 18:26
    var patternLayout = new log4net.Layout.PatternLayout
    {
        ConversionPattern = "%date %level %message%newline"
    };
    patternLayout.ActivateOptions();
    
    var rollingFileAppender = new log4net.Appender.RollingFileAppender
    {
        File = "MyApp.log",
        Layout = patternLayout
    };
    rollingFileAppender.ActivateOptions();
    
    var hierarchy = (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();
    hierarchy.Root.AddAppender(rollingFileAppender);
    hierarchy.Root.Level = log4net.Core.Level.All; // Default is Debug
    
    log4net.Config.BasicConfigurator.Configure(hierarchy);
    
    0 讨论(0)
提交回复
热议问题