从iLogger获取类别名称

问题描述 投票:0回答:1
我们正在努力从log4net迁移到microsoft.extensions.logging库,我正在实现一个ilogger来写入我们现有的日志表。 我们从log4net登录的一件事是“ Logger”,它是使用Logger的类。 因此,我们有(使用log4net)

ILog Logger = LogManager.GetLogger(typeof(MyLibrary.MyClass))


对于插入db的记录谷,它将为

MyLibrary.MyClass

。
我正在尝试在MS记录扩展程序中执行相同的操作,这似乎称为“ categoryName”。  因此,我们在
ILogger<MyLibrary.MyClass>

中使用

MyClass

,因此它是日志。  (在文档中)。
在我的
ILogger<TCategoryName>
实施中,尽管我看不到实际上得到
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter)

无论如何,在那里实际上可以进入类别名称,如果是这样?

我尝试查看

TCategoryName
TState
,但它总是是

Microsoft.Extensions.Logging.FormattedLogValues

的列表,似乎并不包含我想要的数据。

我发现了如何做到这一点,事实证明它很简单,我只是不认为在
KeyValuePair<string, object>
代码之外看。
在您的
Microsoft.Extensions.Logging.LoggerMessage+LogValues``1
中,
ILogger
具有来自

ILoggerProvider
log4net microsoft.extensions.logging
1个回答
0
投票
ILogger CreateLogger(string categoryName)

的构造函数。
e.g。

ILogger<TCategoryName>

    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.