有没有办法以编程方式在log4net中设置日志级别?我假设有一个属性可以让你这样做,但我似乎找不到一个.
我想要做的是有一个可配置选项进入调试模式.这会导致额外的记录.
我正在使用单独的log4net配置xml文件.目前我提出的解决方案如下:
使用dom编辑日志文件,然后调用XMLConfigurator根据文件配置日志文件.
有两个日志配置文件,并在选项更改调用xml Configurator上使用相应的日志配置文件.
我倾向于2,有什么理由不行吗?
Edd*_*die 26
您可以以编程方式更改log4net记录器的日志记录级别,但是如何执行此操作并不明显.我有一些代码可以做到这一点.鉴于此记录器:
private readonly log4net.ILog mylogger;
Run Code Online (Sandbox Code Playgroud)
您必须执行以下花哨的步法将其设置为Debug:
((log4net.Repository.Hierarchy.Logger)mylogger.Logger).Level = log4net.Core.Level.Debug;
Run Code Online (Sandbox Code Playgroud)
这是我以编程方式配置log4net的方式:
//declared as a class variable
private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
PatternLayout layout = new PatternLayout(@"%date %-5level %message%newline");
RollingFileAppender appender = new RollingFileAppender();
appender.Layout = layout;
appender.File = "c:\log.txt";
appender.AppendToFile = true;
appender.MaximumFileSize = "1MB";
appender.MaxSizeRollBackups = 0; //no backup files
appender.Threshold = Level.Error;
appender.ActivateOptions();
log4net.Config.BasicConfigurator.Configure(appender);
Run Code Online (Sandbox Code Playgroud)
我认为Appender的Threshold属性是你要找的,它将控制appender输出的日志记录级别.
log4net 手册有很多很好的配置示例.
| 归档时间: |
|
| 查看次数: |
19542 次 |
| 最近记录: |