使用.NET 6 Core作为控制台应用程序,我无法使调试日志记录正常工作(没有显示任何内容)。并且,我已添加Microsoft.Extensions.Logging.Console到该项目中。
您将在下面看到我尝试获取记录器引用的两种方法。
请注意,这logger.LogInformation确实有效,但logger.LogDebug没有。
问题:我如何开始LogDebug工作?
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
var serviceProvider = new ServiceCollection()
.AddLogging(builder => {
builder.ClearProviders();
builder.AddConsole();
builder.AddDebug();
})
.BuildServiceProvider();
// I've tried this
var logger = serviceProvider.GetService<ILogger<Program>>();
// And this
var logger = serviceProvider.GetService<ILoggerFactory>().CreateLogger<Program>>();
logger.LogDebug("hello world"); // <-- This DOESN'T work
logger.LogInformation("something"); // <-- This DOES work
Run Code Online (Sandbox Code Playgroud) 所以我有一个Angular视图,它有以下标记:
<select id="ddlHandheldIds"
name="ddlHandheldIds"
class="form-control"
ng-model="vm.handheldPayment.handHeldId"
ng-options="id as id for id in vm.handheldKeys track by id"
required
title="select hand held id">
<option value="">select hand held id</option>
</select>
Run Code Online (Sandbox Code Playgroud)
在vm.handheldKeys当页面被加载是具有两个值的数组[0,24].
页面加载时,呈现的HTML如下(标签为可读性):
<select id="ddlHandheldIds" name="ddlHandheldIds"
class="form-control ng-dirty ng-touched ng-valid-parse ng-valid ng-valid-required"
ng-model="vm.handheldPayment.handHeldId"
ng-options="id as id for id in vm.handheldKeys track by id"
required=""
title="select hand held id">
<option value="" class="">select hand held id</option>
<option value="0" label="0">0</option>
<option value="24" label="24">24</option>
</select>
Run Code Online (Sandbox Code Playgroud)
当然,这是你所期望的.
现在,通过一些业务逻辑,用户与网页互动之后,有一个功能拼接的vm.handheldKeys阵列.所以,让我们说代码如下所示:
vm.handheldKeys.splice(0,1); // Remove …Run Code Online (Sandbox Code Playgroud)