在没有 nlog.config 文件的 ASP.NET Core 2.0 中配置 NLog

Configure NLog in ASP.NET Core 2.0 without nlog.config file

我想为在任何 ASP.NET 核心应用程序中使用的常用事物创建一个 NuGet,并且我想利用 NLog 在内部添加一个日志管理器。关于这一点,按照 NLog 上的教程,我似乎被迫在任何使用我自己的 NuGet 的应用程序中添加 nlog.config。

是否有任何选项可以避免使用此配置文件,也许可以在代码中创建配置,或者至少将其嵌入到我自己的 NuGet 中?

非常感谢

注意:followed NLog getting started tutorial

如果您正在按照教程进行操作,那么您可以替换此调用:

var logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();

使用您自己的自定义 NLog LoggingConfiguration:

var nlogConfig = new NLog.Config.LoggingConfiguration();
var nlogFileTarget = new NLog.Targets.FileTarget("logfile") { FileName = "file.txt" };
nlogConfig.AddRuleForAllLevels(nlogFileTarget);
var logger = NLog.Web.NLogBuilder.ConfigureNLog(nlogConfig).GetCurrentClassLogger();