ILog Logger = LogManager.GetLogger(typeof(MyLibrary.MyClass))
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
ILogger CreateLogger(string categoryName)
的构造函数。e.g。
ILogger<TCategoryName>