[英]How to add log4net appender in runtime?
如何在運行時添加額外的日志附加程序? (所有預先存在的附加程序必須繼續工作)
我正在嘗試這種方式:
var layout = new PatternLayout("%utcdate %-5level - %message%newline");
layout.ActivateOptions();
_log4netAppender = new FileAppender
{
Layout = layout,
File = logFilePath,
};
_log4netAppender.ActivateOptions();
BasicConfigurator.Configure(_log4netAppender);
但它不會向文件寫入任何內容。
您還應該將 appender 添加到記錄器中。 看看這里以編程方式添加 Appenders
如果您使用的記錄器是,例如ILog logger
請執行以下操作:
((log4net.Repository.Hierarchy.Logger)logger.Logger).AddAppender(appender)
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.