asp.net-core - .Net Core 的 NLog 未记录调试信息
问题描述
我最近开始编写 .Net Core 应用程序,并且正在使用 NLog 进行日志记录。我想出了以下 NLog.config 文件。如果我使用,这将记录,_log.LogInformation("Log an INFO");
但如果我使用_log.LogDebug("Log a DEBUG");
.
我的 appsettings.json 文件中没有任何日志记录设置。我通常编写控制台应用程序,而控制台应用程序的 VisualStudio 模板没有任何自动添加到 appsettings 的日志记录。
我正在使用带有以下 NLog 包的 .Net Core 3.1。
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.3" />
任何人都知道为什么使用调试不会写入日志文件?
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true">
<!-- enable asp.net core layout renderers -->
<extensions>
<add assembly="NLog.Web.AspNetCore"/>
</extensions>
<variable name="LogDirectory" value="D:\logs\ProjectName"/>
<!-- the targets to write to -->
<targets>
<target xsi:type="File"
name="DefaultTarget"
fileName="${LogDirectory}\LogFile.log"
layout="${longdate} | ${callsite} | ${message}"
archiveAboveSize="3145728"
archiveEvery="Day"
archiveFileName = "${LogDirectory}/Archive/{#}.log"
archiveNumbering = "DateAndSequence"
archiveDateFormat = "yyyyMMdd"
maxArchiveFiles = "21"
/>
<target name="ConsoleTarget"
xsi:type="Console"
layout="${longdate} ${logger:shortName=True} ${message} ${onexception:EXCEPTION OCCURRED\:${exception:format=type,message,StackTrace,method:maxInnerExceptionLevel=8:innerFormat=type,message,StackTrace,method}}"
/>
</targets>
<rules>
<logger name="Microsoft.*" maxlevel="Info" final="true" /> <!-- BlackHole without writeTo -->
<logger name="*" minlevel="Debug" writeTo="DefaultTarget,ConsoleTarget" />
</rules>
</nlog>
解决方案
推荐阅读
- python - 什么会阻止 scikit-learn,尤其是 sklearn.base 导入 Python?
- ruby-on-rails - 动态形式 rails 6
- dataframe - 如何使用 Seaborn Heatmap 选择日期频率和显示日期
- linux - 为什么我会从此脚本中收到“找不到命令”错误?
- opam - opam init 失败 - 无法创建临时文件
- mongodb - 为什么mongodb以base64的形式存储二进制数据?
- python - 我如何隐藏 Progressbar()?
- aws-lambda - 将 Step Function 变量传递给 AWS Glue 作业不工作
- rabbitmq - Rabbitmq 客户端失去连接并且无法恢复
- lm - 为什么 Kenlm lm 模型不断为不同的单词返回相同的分数?