问题标签 [ilogger]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 ASP.NET Core 中使用 ILogger 进行单元测试
这是我的控制器:
如您所见,我有 2 个依赖项, aIDAO
和 aILogger
这是我的测试类,我使用 xUnit 进行测试,使用 Moq 创建模拟和存根,我可以DAO
轻松模拟,但是ILogger
我不知道该怎么做,所以我只是传递 null 并注释掉登录控制器的调用运行测试时。有没有办法测试但仍然以某种方式保留记录器?
c# - 无法从 Microsoft.Extensions.Logging 解析 ILogger
我已经Main
像这样配置了我的控制台应用程序
然后我尝试在另一个类中使用它
System.InvalidOperationException:'无法解析类型'Microsoft.Extensions.Logging.ILogger'的服务
我已经尝试过这里的解决方案,但它对我不起作用。
编辑 基于下面 Yaakov 的评论和这个 Github 评论,我可以通过这样做正确解决它
我本来希望一开始就这样做,BuildServiceProvider
但看起来每次我想使用记录器(或创建我自己的 ILogger)时我都必须重复这个。
nlog - 如何从 NLog 3.1 获得 ILogger?
我有一个 dotnet 核心库,其中包含一个采用 Microsoft.Excentions.Logging.ILogger 的类。我需要从使用 NLog 3.1 的现有 .Net 4.7 应用程序中调用它。
是否可以从 NLog3.1 获得 Ilooger?
c# - Net Core:启动类中的ILogger:封装在扩展方法中
我在Net Core中写了这个日志代码,有人提到“这可以封装在扩展方法中”。这是一种更简单的方法吗,最好在 Net Core 2.2 中编写?
启动.cs
azure-functions - 不显示写入 ILogger 的 Serilog (Azure Functions V2)
我已安装 Serilog 并配置为将日志事件数据写入 MS SQL Server for Azure Function 中的表。
静态类本身写入的系统日志和日志出现在表中,但是当我尝试使用 Extensions.Logging.ILogger 时,即使我可以在 ILogger 中看到 Serilog 提供程序,消息也不会出现在表中。
Startup.cs 配置;
在 Azure Function 中创建 ILogger;
此外,将 ILogger 本身接收到 cons 中也不起作用..
奇怪的是只有系统日志被记录到表中;
并且 Serilog 提供程序已经存在于不工作的 ILogger 实例中;
asp.net - ASP.NET 单元测试 - 在单元测试中模拟 ILogger
我目前正在使用以下代码在我的单元测试控制器的构造器中模拟 ILogger:
我需要使用这个 Mock ILogger 来记录在各种单元测试中被断言的抛出异常。
例如:
我需要为模拟的记录器(_logger)添加 ArgumentNullException 检查。
实现这一目标的最佳方法是什么?
编辑:正在测试的控制器
asp.net-mvc - 从登录 Asp.net 核心中排除自定义异常类
有没有办法可以从日志系统中排除自定义异常类?我知道我可以按类别过滤掉,但我只想保留一个自制的异常类。
c# - 如何在调试器中捕获 ILogger.LogCritical 调用和中断?
当有人写Microsoft.Extensions.Logging.ILogger.LogCritical()
电话时,肯定发生了一些严重的事情。我希望它在调试器中运行时会(记录关键和)中断。我已经尝试了如何覆盖现有扩展方法的答案,它需要使用特殊的命名空间。不过我希望大家可以LogCritical()
自然使用,不用再仔细检查是调用原创LogCritical()
还是我被困的。
我能想到的唯一方法是用我的替换后备日志库,并使用我的中断逻辑将调用重定向到日志库。但是这个工具仅限于指定的库。如果将来我想更改库,我需要实现另一个库。并实现它需要的所有无聊的接口,只是为了一些LogCritical()
相关的破坏逻辑。
所以,我希望捕捉到一般性的ILogger.LogCritical()
呼吁,而不是潜在的具体呼吁。这可能吗?
asp.net-core - 如何使用 ILogger 在我的 ASP.NET Core 应用程序的 nuget 包中记录 serilog 发出的消息
这应该很简单,但我找不到答案。
我有一个 ASP.NET Core (3.0) 应用程序。我使用Microsoft.Extensions.Logging /ILogger
进行日志记录。
我还使用一个库(Fishbus:github / nuget)来与 Azure 消息总线连接。该库记录合适的消息,但使用Serilog来完成。所以开箱即用,不会记录任何消息。
如何将 Serilog“连接”到 Microsoft 日志框架,以便我可以看到库在做什么?
azure - 使用 Application Insights 更改用于登录 ASP.NET Core 的 Instrumentation 密钥
是否有任何方法可以在运行时切换检测密钥,基于某些业务逻辑将日志目标定位到不同的 Application Insights 实例。
由于我们将 Application Insights 配置为在启动项目中用作 Logger,因此我找不到任何开箱即用的方法或破解此要求的解决方法。
如果我使用 Application Insight 作为遥测客户端,则可以轻松完成上述切换,因为在这种情况下,我可以在运行时向客户端提供不同的检测密钥,这与使用 ASP 的内置 DI 注入的 ILogger 不同.NET 核心。