gpt4 book ai didi

c# - 如何使用 NLog 登录到多个目标?

转载 作者:可可西里 更新时间:2023-11-01 08:08:06 27 4
gpt4 key购买 nike

我正在使用 NLog,我想同时登录到 RichTextBox 和 File。我想以编程方式配置记录器,而不是使用 xml 配置文件。

以下代码仅记录到最后一个目标(在本例中为文件)。有人可以帮忙吗?

RichTextBoxTarget t1 = new RichTextBoxTarget();
t1.Layout = "${date} ${message}";
t1.ControlName = "rtb_log";
t1.FormName = "MainForm";
NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(t1, LogLevel.Debug);

FileTarget t2 = new FileTarget();
t2.Layout = "${date} ${level} ${message}";
t2.FileName = "${basedir}/Logs/today.log";
t2.KeepFileOpen = false;
t2.Encoding = "iso-8859-2";
NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(t2, LogLevel.Trace);

Logger logger = LogManager.GetLogger("MyLogger");

最佳答案

好的,我知道了。在发布问题之前,我应该更多地阅读帮助文件。但无论如何,答案是按如下方式使用 SplitTarget...

RichTextBoxTarget t1 = new RichTextBoxTarget();
t1.Layout = "${date} ${message}";
t1.ControlName = "rtb_log";
t1.FormName = "MainForm";

FileTarget t2 = new FileTarget();
t2.Layout = "${date} ${level} ${message}";
t2.FileName = "${basedir}/Logs/today.log";
t2.KeepFileOpen = false;
t2.Encoding = "iso-8859-2";

SplitTarget target = new SplitTarget();
target.Targets.Add(t1);
target.Targets.Add(t2);

NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(target, LogLevel.Debug);
Logger logger = LogManager.GetLogger("MyLogger");

关于c# - 如何使用 NLog 登录到多个目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3287668/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com