问题标签 [nlog-configuration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3468 浏览

sharepoint - 使用 NLog 集中日志记录的最佳方法是什么?

我被分配了一个项目,其中包含许多基于 SharePoint 的编写不佳的代码。

它由大约 15 个子项目组成,其中一些是 Windows 服务,一些是 Web 服务,一些是在 SharePoint 内部运行的 Web 应用程序,一些是 Webpart 甚至是控制台应用程序。它们都在同一台服务器上运行并相互调用。

生产中已经存在许多问题,但很难追查。
从他孜孜不倦地捕捉所有例外情况来看,最初的开发者一定是塞林格或神奇宝贝系列的粉丝。不幸的是,他们都没有得到报告或记录。

我当前的任务是将日志记录引入整个项目,这样我就可以找到现在不可见的异常,跟踪纠结的重复调用并至少有一些堆栈跟踪。我决定使用NLog,因为它既活跃又酷,与log4net相反,它非常好,但有点不合我的口味。

因为组件是紧密耦合的,所以我想将日志集中在一个文件中,这样相关的错误就不会分散在硬盘上。因此,我希望有两个或三个不同的日志文件,其中有五个或更多项目或多或少地同时写入每个项目。

配置 NLog 以集中日志记录的最佳方法是什么?我应该为每个项目都有一个配置文件,还是应该相关项目共享它们?我应该将配置文件放在哪里以从 SharePoint Webpart 进行日志记录?我会面临任何许可问题吗?

我正在使用 SharePoint 2007。

0 投票
2 回答
7493 浏览

c# - 如何对 NLog 中的同一个目标应用不同的布局?

NLog 允许我将SplitGroup消息记录到多个目标。我想使用此功能将每条消息一次记录到一个常见的、特定于用户和特定日期的日志中:

这很好,但我也想为不同的严重程度使用不同的布局。例如,errorLayout将包括异常信息和插入[!]标记,以便我以后可以在BareTail等日志查看器中突出显示错误:

这段代码假设Errors 总是带有异常,而Warnings 没有,但这不是重点。

问题是这个配置是错误的。它不起作用,因为logger没有layout属性。它target仅用于定义。

正在使用的布局必须由目标本身声明,但我认为没有办法为不同的严重级别指定不同的布局。

现在,我不得不复制粘贴相同的配置代码四次,以便layout为同一组文件提供四个不同的 s:

这只是伤害我的眼睛。
有没有更好的方法来做到这一点并避免重复?

0 投票
1 回答
639 浏览

asp.net - NLogConfigurationException - 从“System.String”到“System.Uri”的无效转换

既然我已经从 1.0 -> 2.0 更新,Nlog 正在抛出异常。

当调用 NLog.Config.XmlLoggingConfiguration.Initialize 时,会发生以下异常:
“在 WebService Target[Target_AuditLog_WebService_Global] 上设置属性 'Url' 时出错”
,innerException 为:
“从 'System.String' 到 'System.Uri' 的无效转换.

目标看起来像这样:

我发现了这一点,但他们似乎认为它是固定的:http: //nlog.codeplex.com/workitem/5352

0 投票
1 回答
2244 浏览

nlog - nLog 条件布局

我正在使用 nLog 2.0,在阅读完这篇有趣的文章后,我尝试将条件应用于简单的布局,如下所示:

这些不仅没有任何效果,而且它们也不会引发错误,因此条件似乎在某处被无声地吞噬(throwExceptions设置为 true)

  1. 如何有条件的布局工作?他们甚至工作吗
  2. 如果出现错误/无法识别,nLog 可以抛出异常吗?

这是完整的代码,这是一个基本的控制台应用程序。

主文件:

NLog.config(在可执行目录中):

输出:

0 投票
1 回答
247 浏览

nlog - 为什么 NLog 配置更改不生效?

我试图通过以下方式更改 NLog 的配置:

但它默默地忽略了我的更改。但是,当我尝试

它立即工作 - 但丢弃了所有以前的配置。为什么会这样,我该如何解决?

0 投票
5 回答
26855 浏览

c# - 使 NLog.config 文件从 (d:\dev) 而不是 "\bin\debug\" 加载文件

我使用 Nlog 在特定的 DLL 中进行日志记录。然后在另一个应用程序中使用 DLL(使用 动态加载System.Reflection.Assembly.LoadFrom(path + a.dll))。我手动将 Nlog.dll 和 Nlog.config 文件放在 Path 文件夹中,应用程序可以正常执行,但它没有记录任何消息。

但是,当我继续将 Nlog.config 文件手动放置在应用程序目录 ( \bin\debug\) 中时,会记录消息。

有人可以让我知道如何将 Nlog.Config 的搜索位置指向d:\dev\bin\debug\.

0 投票
1 回答
2287 浏览

c# - 使用 NLog 事件上下文布局渲染器以毫秒精度记录日期时间

我正在尝试使用 NLog 2 将一些审计信息记录到 SQL Server 2008 表中。为了能够将参数传递给 SQL 插入查询,我正在使用 LogEventInfo 和Event Context Layout Renderer

日志记录本身有效,但日期时间仅以秒精度存储。我希望能够以毫秒精度进行存储,但没有找到任何可以告诉我如何做到这一点的东西。

这是我记录事件的 C# 代码:

这是我在 NLog.config 配置中的目标:

我发现有一个解决方法,theEvent.Properties["RequestDate"] = requestDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff")但我不想这样做,因为那样你可能会遇到日期时间格式和文化问题。

有谁知道我可以使用 NLog.config 中的配置更改精度的方法?

0 投票
1 回答
10983 浏览

.net - 有没有办法将 NLog.config 信息放入我的 app.config 文件中?

有没有办法将 NLog.config 信息放入我的 app.config 文件中?这样我就可以拥有一个配置文件而不是两个。它可能看起来像这样:

请让我知道这是否是重复的。

0 投票
1 回答
114 浏览

c# - 如果找不到目标则忽略

我有一个通过 nlog.config 文件配置的 nlog 记录器。我在配置文件中定义了多个目标。如果 nlog 未能找到任何目标(例如由于网络错误导致的数据库),它是否有可能忽略该特定目标并写入所有其他目标。

目前,如果它没有找到任何目标,它只会抛出异常并中断程序。有没有办法可以检查启动,是否找到所有目标并采取相应措施。

如果找不到,还有什么方法可以动态创建 .config 文件?最后一个解决方案是手动编写一个XmlWriter类,但想知道 nlog 是否有默认值。

0 投票
1 回答
734 浏览

exception - NLog LogEventInfo 记录异常

我正在使用 LogEventInfo 将日志记录到日志文件和数据库条目。当异常被抛出到日志文件时,我还想记录堆栈跟踪。我以为我只需要将 LogEventInfo 中的 Exception 属性设置为我要记录的异常,但它不起作用,日志文件只包含“错误我的消息”。我哪里做错了?谢谢。

NLog.config 就像

和 C# 代码