在 WinForms 应用程序中使用 NLog 时,您可以通过以下步骤设置日志级别:
- 首先,确保已经安装了 NLog 并在项目中引用了 NLog。如果尚未安装,请使用 NuGet 包管理器安装 NLog:
Install-Package NLog
- 在 NLog 配置文件中(通常为
nlog.config
或NLog.config
),找到
元素。例如:
在这个例子中,所有日志级别(Trace、Debug、Info、Warn、Error、Fatal)都将写入文件。
- 若要更改日志级别,只需修改
元素中的minlevel
属性。例如,如果您只想记录 Info 及以上级别的日志,可以将minlevel
设置为 “Info”:
- 如果您使用的是代码配置而不是 XML 配置,可以在代码中设置日志级别。首先,创建一个名为
NLogConfig
的类,并在其中定义 NLog 配置:
using NLog; using NLog.Config; public class NLogConfig { [global::System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA1810:InitializeReferenceTypeInstance")] private static readonly Logger _logger = LogManager.GetCurrentClassLogger(); static NLogConfig() { var config = new LoggingConfiguration(); var fileTarget = new FileTarget { FileName = "logs/app.log", AutoFlush = true }; config.AddTarget("file", fileTarget); var rule = new LoggingRule("*", LogLevel.Info, fileTarget); config.AddRule(rule); LogManager.Configuration = config; } }
然后,在应用程序启动时调用 NLogConfig
类的静态构造函数:
static void Main() { NLogConfig.Initialize(); Application.Run(new MainForm()); }
现在,日志级别已更改为 Info 及以上。要更改日志级别,只需修改 LoggingRule
的 LogLevel
属性。例如,要记录 Debug 及以上级别的日志,可以将 LogLevel
设置为 “Debug”:
var rule = new LoggingRule("*", LogLevel.Debug, fileTarget);