and*_*eav 5 logging log4net log4net-appender
我正在寻找一种方法将所有附加程序附加到一个记录器实例。
我试过:
Hierarchy hierarchy = LogManager.GetRepository() as Hierarchy;
hierarchy.GetAppenders()
Run Code Online (Sandbox Code Playgroud)
根据文档,这将返回当前配置的所有记录器的所有附加程序。
当我尝试这个时:
LogManager.GetLogger("MyLoggerName").Logger.Repository.GetAppenders();
Run Code Online (Sandbox Code Playgroud)
我得到相同的结果。
我只想检索附加到一个记录器的附加程序(在这种情况下为“MyLoggerName”)
我哪里错了?
当您调用以下代码时
LogManager.GetLogger("MyLoggerName").Logger.Repository.GetAppenders();
Run Code Online (Sandbox Code Playgroud)
您实际上是在询问与hierarchy.GetAppenders()
因为Hierarchy
继承完全相同的数据LoggerRepositorySkeleton
,它实现ILoggerRepository
了Logger.Repository
.
但是,您可以使用Logger
位于Hierarchy
命名空间中的类来获取“第一级”附加程序的列表:
var h = LogManager.GetRepository() as Hierarchy;
var l = h.GetLogger("MyLoggerName", h.LoggerFactory);
// do something with the l.Appenders property
Run Code Online (Sandbox Code Playgroud)
您将不得不从那里处理特殊情况,例如缓冲或过滤 appender
归档时间: |
|
查看次数: |
3410 次 |
最近记录: |