NLog是.NET的免费日志记录平台
如何将记录器(例如 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...
我可以将 NLog 目标设置为具有组播或广播的 UDP 网络吗?如何? 我试图在NLog网站上找到方法,但找不到。 NLog站点 我期望它可以通过目标属性来具体化,例如...
我正在使用这样配置的 NLog: var logfile = new NLog.Targets.FileTarget("logfile") {FileName = Path.Combine(_logDirectory, "myApp.log"), Layout = "${date} [${level}] ${
如何为 MicrosoftConsoleLayout 配置 TimestampFormat
我正在开发一个 C# 应用程序,使用 NLog 进行日志记录。 我已将 NLog.config 文件添加到我的应用程序中,其中包含控制台日志的以下布局定义: 我正在开发一个 C# 应用程序,使用 NLog 进行日志记录。 我已向我的应用程序添加了一个 NLog.config 文件,其中包含控制台日志的以下布局定义: <target xsi:type="Console" name="lifetimeConsole" layout="${MicrosoftConsoleLayout}" /> 这没问题,但我想添加一个时间戳。 根据此网页,可以向此布局添加时间戳(默认情况下,该参数为null,如同一网页上所述)。 如何修改NLog.config中的目标定义以添加TimestampFormat(最好是${longdate}?(我根本不知道语法) 正如评论中提到的,有 nlog-project.org 这是一个非常好的参考。 例如作为我的配置之一的示例,请参阅 <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Variable name = "UsedLogLevel" Value = "Info"/> <Variable name = "Logfile" Value = "Logfile"/> <Variable name = "LogfileFolder" Value = "${basedir}"/> <Variable name = "daylyLogging" Value = "1"/> <targets> <target name="logfile" xsi:type="File" fileName="${var:LogfileFolder}/${when:when='${var:daylyLogging}'==1:inner=${shortdate}_}${var:Logfile}.txt" layout="${when:when='${var:daylyLogging}'==1:inner=${time}:else=${date}}|${windows-identity}|${level}|${replace:searchFor=de.inFLOWmation.paperCMD.:replaceWith=:inner=${callsite}}|${message}"/> <target name="logconsole" xsi:type="Console" /> </targets> <rules> <logger name="de.inFLOWmation.paperCMD.*" minlevel="${var:UsedLogLevel}" writeTo="logconsole" /> <logger name="de.inFLOWmation.paperCMD.*" minlevel="${var:UsedLogLevel}" writeTo="logfile" /> </rules> </nlog> 你可以像这样通过c#设置顶部的变量 NLog.LogManager.Configuration.Variables["LogfileFolder"] = @"D:\someFolder; NLog.LogManager.Configuration.Variables["UsedLogLevel"] = "Debug"; NLog.LogManager.ReconfigExistingLoggers(); TimestampFormat MicrosoftConsoleLayout 可以是 DateTime.ToString(format) 接受的任何格式。前任。 ${MicrosoftConsoleLayout:TimestampFormat=o}。 另请参阅:https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings
当我将 nlog 添加到项目中时,VSCode 调试器无法运行 asp.net core 7
当我将nlog配置添加到program.cs文件时,我有一个asp.net core 7项目 项目已运行,但没有任何显示且未打开浏览器! 我不知道我的调试器是否有这个错误 我测试我的
自定义 NLog AspNetLayoutRenderersBase 无法在 .NET Framework ASP.NET MVC 上运行
背景: 我正在构建由 NLog 支持的日志记录类库。想法是在我们的应用程序中使用这个类库来满足我们的日志记录需求。作为该库的一部分,我们编写了自定义
我很惊讶我无法找到这个问题的答案,但是我如何让 NLog 以漂亮的格式而不是默认的单行版本编写 JSON 格式的消息? 有没有简单的...