環境
Visual Studio 2017, NLog 4.6.8
程序
using System;
using System.Threading;
using System.Threading.Tasks;
using NLog;
namespace TestUseNLog
{
class Program
{
static void logInAnotherThread()
{
Thread.CurrentThread.Name = "子線程";
oLogger.Trace("追蹤信息");
oLogger.Debug("調試信息");
oLogger.Info("記錄信息");
oLogger.Warn("警告信息");
oLogger.Error("錯誤信息");
oLogger.Fatal("致命信息");
}
static void Main(string[] args)
{
Thread.CurrentThread.Name = "主線程";
try
{
oLogger = NLog.LogManager.GetLogger("LG1");
//創建日誌配置
var oLogCfg = new NLog.Config.LoggingConfiguration();
var oLogFile = new NLog.Targets.FileTarget()
{
FileName = "Test.log",
Layout = "${longdate} | ${level:uppercase=true} | 線程:${threadname} | ${callsite}:${callsite-linenumber} | ${message} ${exception:format=tostring}",
};
oLogCfg.AddRule(LogLevel.Trace, LogLevel.Fatal, oLogFile);
// Apply config
NLog.LogManager.Configuration = oLogCfg;
//輸出日誌
oLogger.Trace("追蹤信息");
oLogger.Debug("調試信息");
oLogger.Info("記錄信息");
oLogger.Warn("警告信息");
oLogger.Error("錯誤信息");
oLogger.Fatal("致命信息");
var tsk = Task.Factory.StartNew(logInAnotherThread);
throw new Exception("測試拋出異常");
}
catch (Exception ex)
{
oLogger.Error(ex, "運行出現異常");
}
}
private static Logger oLogger = null;
}
}
輸出
2019-11-09 19:27:33.1092 | TRACE | 線程:主線程 | TestUseNLog.Program.Main:42 | 追蹤信息
2019-11-09 19:27:33.2635 | DEBUG | 線程:主線程 | TestUseNLog.Program.Main:43 | 調試信息
2019-11-09 19:27:33.2787 | INFO | 線程:主線程 | TestUseNLog.Program.Main:44 | 記錄信息
2019-11-09 19:27:33.2912 | WARN | 線程:主線程 | TestUseNLog.Program.Main:45 | 警告信息
2019-11-09 19:27:33.3046 | ERROR | 線程:主線程 | TestUseNLog.Program.Main:46 | 錯誤信息
2019-11-09 19:27:33.3161 | FATAL | 線程:主線程 | TestUseNLog.Program.Main:47 | 致命信息
2019-11-09 19:27:33.4452 | ERROR | 線程:主線程 | TestUseNLog.Program.Main:49 | 運行出現異常 System.Exception: 測試拋出異常
在 TestUseNLog.Program.Main(String[] args) 位置 F:\Code\TestUseNLog\TestUseNLog\Program.cs:行號 49
2019-11-09 19:27:33.4452 | TRACE | 線程:子線程 | TestUseNLog.Program.logInAnotherThread:13 | 追蹤信息
2019-11-09 19:27:33.4862 | DEBUG | 線程:子線程 | TestUseNLog.Program.logInAnotherThread:0 | 調試信息
2019-11-09 19:27:33.4862 | INFO | 線程:子線程 | TestUseNLog.Program.logInAnotherThread:0 | 記錄信息
2019-11-09 19:27:33.5082 | WARN | 線程:子線程 | TestUseNLog.Program.logInAnotherThread:0 | 警告信息