NLog是.NET的免费日志记录平台
NLog 像 WithProperty 方法一样使用 .NET6 注入自定义属性
我有一个 .NET 4.8 项目,我按以下方式使用 NLog: 公共类 ReportsController :ApiController { private static NLog.Logger logger = NLog.LogManager.GetLogger("应用...
我正在尝试在 Visual Studio 2019(社区版,如果相关的话)中构建 NLog。由于下面的转换错误,NLog 未构建。我在代码中搜索了“TypeParameterSymbo...
当与针对相同输出的其他配置结合使用时,nlog maxLevel=off 配置选项会做什么?
我不确定 nlog“level=off”配置选项与其他针对相同输出的配置(如下面提供的配置)结合使用时会执行什么操作: 我不确定 nlog“level=off”配置选项与其他针对相同输出的配置(如下面提供的配置)结合使用时会执行什么操作: <logger name="Name.Space.*" minLevel="Info" writeTo="console" final="true"/> <logger name="Name.Space.*" maxLevel="off" writeTo="console" final="true"/> 这样的配置会实现什么行为? 这意味着 LogLevel 高于 minLevel="Info"(Info + Warn + Error + Fatal)的所有记录器输出都应该 writeTo="console",并且由于 final="true",那么记录器输出不应达到以下规则: <logger name="Name.Space.*" minLevel="Info" writeTo="console" final="true"/> 这意味着 LogLevel 低于 maxLevel="off"(Trace + Debug + Info + Error + Fatal)的所有记录器输出都应该 writeTo="console",并且由于 final="true",那么记录器输出不应达到以下规则: <logger name="Name.Space.*" maxLevel="off" writeTo="console" final="true"/> maxLevel通常用于抑制日志记录。另请参阅尝试取代 maxlevel 的新 finalMinLevel,因为许多人对此感到困惑
使用 Application Insights 配置 NLog 和 JS 异常
我已经设置了 NLog 来与 Applicatin Insights 配合使用,还记录 js 异常,并且正在按要求工作。然而,我正在努力使仪器键动态化,因此它的目标是
我已使用 nuget 将 NLog 添加到项目中并添加了 NLog.config。我正在运行调试器并由于 LogManager.Configuration 为空而收到 NullReferenceException: LogManager.配置...
如何使用 Nlog 和 MDLC 以编程方式为 CloudWatch 设置 logGroup
我正在使用 AWS.Logger.NLog 将日志发送到 CloudWatch。 我想做的是以编程方式分配 logGroup,而不是将其放入 nlog.config 中。我测试了其他配置参数,例如...
如何将记录器(例如 NLog、log4net 等)与 Dynamics CRM 2011 ITracingService 集成?
上下文 我花费了大量时间编写自定义操作(代码活动类),偶尔还为 Dynamics CRM 2011 本地应用程序编写插件。 Dynamics 中的所有日志记录都是通过 ITracingService 完成的
我想在nlog中定义2个目标(通常是本地DevOps和UDP上的文件目标)并根据位置动态选择它们。这样做的动机是在运行时使用不同的目标
Dotnet 框架 - 在 TFS cd 管道中使用变量替换来更改 Nlog 配置
我在Web配置文件中有Nlog配置,我想更改CD管道中的文件路径,以便根据环境放置一些动态路径。 现在是 web.config 文件
NLog 5 有没有办法让两个 NLog 目标写入同一个日志文件?在 NLog 4.6.8 下是可能的,但在将我的应用程序升级到 NLog 5 后,我发现它不再起作用,至少在...
删除 NLog.Config 并升级到 NLog 5 后,两个目标无法登录到同一文件
NLog 5 有没有办法让两个 NLog 目标写入同一个日志文件?在 NLog 4.6.8 下是可能的,但在将我的应用程序升级到 NLog 5 后,我发现它不再起作用,至少在...
nlog .net core 中实际上不是控制器时如何捕获控制器名称?
NLog 可以使用 {aspnet-mvc-controller} 和 {aspnet-mvc-action} 配置选项捕获控制器名称和操作,效果很好。 就我而言,有一个不使用控制器的操作
Prism Unity 将 NLog 注册为 Microsoft.Extension.Logging.ILogger<T>
我的后端和前端(WPF)之间有一个共享代码,其中后端当前使用与 Microsoft.Extensions.Logging.ILogger 兼容的 NReco.Logging.File。 但在前端,我...
使用 DI 并使用 appsettings.json 将 Nlog 日志记录到数据库 .NET 5.0
我一直在尝试让 Nlog 将日志记录发送到数据库,但我发现的示例都返回内部 nlog 错误。我在 .NET 5.0 的控制台应用程序中使用依赖项注入...: 信息
我正在使用 Nlog v4.6.7 并使用以下布局渲染消息(在 Nlog.config 中)。 我正在使用 Nlog v4.6.7 并使用以下布局渲染消息(在 Nlog.config 中)。 <layout xsi:type="JsonLayout" includeAllProperties="true"> <attribute name="timestamp" layout="${date:universalTime=true:format=yyyy-MM-dd HH\:mm\:ss,fff}" /> <attribute name="level" layout="${level}"/> <attribute name="message" layout="${message}" /> </layout> 典型的日志记录是 _logger.Info("Start {job} with {@data}", job, new {a,b,c}); 我使用 includeAllProperties 选项,因为每条消息可能定义不同的属性,并且我无法将它们一一预先包含为布局中的属性。 上面打印的内容类似于: { "timestamp": "2019-09-06 13:13:40,386", "level": "Info", "message": "Start \"SomeJobType\" with {\"a\":\"aa\", \"b\":\"bb\", \"c\":\"cc\"}", "job": "SomeJobType", "data": { "a": "aa", "b": "bb", "c": "cc" } } 有没有办法从事件属性中分离打印的消息?因此, 实现类似 的目标 { "timestamp": "2019-09-06 13:13:40,386", "level": "Info", "message": "Start action", "job": "SomeJobType", "data": { "a": "aa", "b": "bb", "c": "cc" } } ${message:raw=true}没有帮助,因为它打印像这样的占位符 { "timestamp": "2019-09-06 13:13:40,386", "level": "Info", "message": "Start {job} with {@data}", "job": "SomeJobType", "data": { "a": "aa", "b": "bb", "c": "cc" } } 您始终可以这样做: var logger = NLog.LogManager.GetCurrentClassLogger(); var theEvent = new NLog.LogEventInfo(NLog.LogLevel.Info, null, "Start action"); theEvent.Properties["job"] = job; theEvent.Properties["data"] = new {a,b,c}; logger.Log(theEvent); 然后在JsonLayout上配置MaxRecursionLimit=1: <layout xsi:type="JsonLayout" includeAllProperties="true" maxRecursionLimit="1"> <attribute name="timestamp" layout="${date:universalTime=true:format=yyyy-MM-dd HH\:mm\:ss,fff}" /> <attribute name="level" layout="${level}"/> <attribute name="message" layout="${message}" /> </layout> 另请参阅:https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer 从您的 nlog.config 文件中删除以下行: <attribute name="message" layout="${message}" /> 然后你可以打印任何你想要的对象,就像这样: _logger.LogInformation("{@myAnonymous}{@myOtherObject}", new { prop1 = "abc", prop2 = 123, nested = { nestedProp = true } }, myAnyTypeOfObject); 您的日志输出将如下所示(JSON 美化视图): { "myAnonymous": { "prop1 ": "abc", "prop2": 123, "nested": { "nestedProp": true } }, "myOtherObject": /*JSON representation of myAnyTypeOfObject object.*/ } 希望这有帮助。
如何防止在 .NET 6 中使用 NLog 记录某些命名空间
我在 .NET 6 中使用 NLog,它生成日志文件。我希望 NLog 跳过某些日志。例如,我的文件中有这样一行。 2023-08-17 14:00:44 Microsoft.Extensions.Hosting.Int...
如何覆盖 NLog ≥ v5.0 中内置的 JSON 格式化程序/JSON 转换器?
在我们的项目中,我们有一些类属性需要在记录时进行审查。每个要审查的属性都具有自定义属性;我们称之为 CensorMeAtt...
我正在尝试将 appsettings.json 属性访问到 NLog.Config 文件中。我正在 nlog 中编写规则,并使用 configsetting 布局渲染器从 appsettings 访问日志级别。 工作正常...
如何将 NLog 目标与 Microsoft ILogger 过滤器结合起来?
我们在 .net 5.0 Web API 中使用 NLog,感觉日志级别是在多个位置设置的。有没有一种方法可以配置 nLog 以使用应用程序设置并忽略 nLog.config 日志级别? nlog.c...