前提・実現したいこと
C#でNLogを用いてログメッセージの出力をしておりますが、Debug, Traceレベルのメッセージが出力できません。
Info,Warn,Errorレベルのメッセージは出力されています。
なぜTrace,Debug以下のメッセージが出力されないのかがわからず、お知恵をお借りできないでしょうか。
ソースコード
Program.cs
C#
1using Microsoft.Extensions.Configuration; 2using Microsoft.Extensions.Hosting; 3using Microsoft.Extensions.Logging; 4using NLog.Extensions.Logging; 5using Microsoft.Extensions.DependencyInjection; 6using System; 7 8namespace LoggerTest 9{ 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 Console.WriteLine("Begin"); 15 16 var hostbuilder = CreateHostBuilder(args); 17 var host = hostbuilder.Build(); 18 var loggerFactory = host.Services.GetRequiredService<ILoggerFactory>(); 19 var logger = loggerFactory.CreateLogger("TEST"); 20 21 logger.LogTrace("it is Trace"); 22 logger.LogDebug("it is Debug"); 23 logger.LogInformation("it is Info"); 24 logger.LogWarning("it is Warning"); 25 logger.LogError("it is Error"); 26 27 Console.WriteLine("End"); 28 } 29 public static IHostBuilder CreateHostBuilder(string[] args) => 30 Host.CreateDefaultBuilder(args) 31 .ConfigureLogging((hostContext, logging) => 32 { 33 logging.ClearProviders(); 34 logging.AddNLog("NLog.config"); 35 }); 36 } 37}
NLog.config
xml
1<?xml version="1.0" encoding="utf-8" ?> 2<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" 5 autoReload="true" 6 throwExceptions="false" 7 internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> 8 9 <targets> 10 <target name="Console" xsi:type="Console" /> 11 </targets> 12 13 <rules> 14 <!-- コンソールにTraceログ以上すべて出したい --> 15 <logger name="*" minlevel="Trace" writeTo="Console" /> 16 </rules> 17</nlog> 18
実行結果
Begin 2021-07-14 20:25:25.2057|INFO|TEST|it is Info 2021-07-14 20:25:25.2140|WARN|TEST|it is Warning 2021-07-14 20:25:25.2140|ERROR|TEST|it is Error End
実現したいこととしてはINFOの前に、以下のようによりDebug,Traceログも出力されていてほしい
2021-07-14 20:25:25.2057|TRACE|TEST|it is Trace 2021-07-14 20:25:25.2057|DEBUG|TEST|it is Debug
試したこと
<logger name="*" minlevel="Trace" writeTo="Console" /> のminlevelをWarnにしたときはWarn,Errorのみ出力されたので、このファイルが読まれていないということはないと考えています。
補足情報(FW/ツールのバージョンなど)
- .NET 5.0
- Microsoft.Extensions.Hosting 5.0.0
- NLog.Extensions.Logging 1.7.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。