nlog相关内容

NLog with Application Insights - 将异常记录为异常而不是跟踪

目前我正在使用使用服务堆栈构建的 .NET Core Web 应用程序.当前使用 NLog 提供日志记录,并将 Azure Application Insights 作为目标. 目前,当我记录消息和异常时,我遇到了一些奇怪的行为: Log.Fatal("测试未实现异常", new NotImplementedException());//此日志记录在 Application Insight ..
发布时间:2021-11-24 18:28:02 C#

如何注入命名记录器泛型 ILogger<T>使用 IServiceCollection 和 NLog 作为 ILogger 进入构造函数

我想将 ILogger 的通用实现注入到 MyClass 的构造函数中,而没有它的通用参数. 示例: 公共类MyClass{私有只读 ILogger _logger;//注入 ILogger作为 ILogger 类型公共 MyClass(ILogger 记录器){_logger = 记录器;}} 我基本上不想每次都编写它的泛型类型,并且希望自动解决它.使用 autofac 我已经能够解决 ..
发布时间:2021-11-24 17:30:53 C#/.NET

将 NLog 连接并注入 .NET Core 控制台应用程序

我创建了一个使用者/作业,我将在用 C# 编写的 Linux 上作为进程运行. 流程将: 从 RabbitMQ 读取消息 对数据库进行更改 记录任何错误 NLog 上关于 .NET Core 的所有文档都在 ASP.NET Core 上.当我尝试获取 ILogger 实现时,它返回 null. 以下是接线和用法的例外: static void ConfigureSer ..
发布时间:2021-11-24 13:58:52 C#/.NET

如何使用 appsettings.json 而不是 nlog.config 文件在 .NET Core 中配置 NLog?

NLog 文档解释了如何使用 nlog.config XML 文件为 .NET Core 应用程序配置 NLog.但是,我更希望我的应用程序只有一个配置文件 - appsettings.json.对于 .NET Framework 应用程序,可以将 NLog 配置放在 app.config 或 web.config 中.是否可以以同样的方式将 NLog 配置放在 appsettings.json ..
发布时间:2021-11-24 13:35:46 C#

x 天后删除日志文件

我想使用文件目标使用 Nlog 进行登录,例如 示例.如何在 X 天后删除文件而不存档?或者是否可以将文件归档到同一个文件夹? 解决方案 您可以简单地使用内置的归档功能.除了当前日志之外,此设置还将保留 7 个旧日志文件.清理是由 NLog 自动完成的. ..
发布时间:2021-11-17 03:11:50 其他开发

如何在 .NET Core 的 xUnit 测试中使用 NLog?

我正在尝试通过 NLog 日志库从基于 .NET Core 3.1 的 xUnit 测试用例中输出一些日志消息.在我的主应用程序中,通过 NLog 进行日志记录工作正常,但测试用例不会输出任何消息. 我认为我正在做这个相关问题中建议的所有事情:NLog 在 ASP.NET Core 应用程序中有效,但在 .NET Core xUnit 测试项目中无效 不知何故,我无法弄清楚缺少什么.我已将 ..
发布时间:2021-10-04 18:56:32 C#/.NET

在 asp.net core 应用程序的调试窗口中显示 NLog 输出

是否可以在 Visual Studio 2017 调试窗口中显示 NLog(或内置调试器)正在记录的内容? 我已将 NLog 设置为输出到文件,但对于开发而言,能够在调试窗口中查看调试消息会非常方便.我可以看到有关如何使用控制台执行此操作的文章,但对于 asp.net 项目,没有任何控制台输出,只有调试窗口. 解决方案 是的,对于 Asp.Net Core,有内置的记录器提供程序,例 ..
发布时间:2021-09-19 19:24:28 其他开发

为特定的 NLog 实例设置 ValueFormatter?

我有 2 个 NLog 实例,其中一个需要特殊的 ValueFormatter 来序列化参数.ValueFormatter 使用以下代码设置: NLog.Config.ConfigurationItemFactory.Default.ValueFormatter = new NLogValueFormatter(); 如您所见,它将应用于所有记录器.我在 NLogger 本身上找不到任何可能需 ..
发布时间:2021-06-07 20:33:55 C#/.NET

nlog 的包装函数 - 分配日志级别

我想要一个自定义日志类,然后将其属性注入 nlog Logger.该类应该初始化 nlog target 和 config ,然后其他人可以使用它而无需知道这些细节. 公共接口ILogger{void Log(LogEntry entry);}公共枚举 LoggingEventType { 调试、信息、警告、错误、致命};公共类 LogEntry{公共只读 LoggingEventType 级别 ..
发布时间:2021-06-07 20:33:49 C#/.NET

NLog 和 SQLite 错误

我正在尝试让 NLog 正确登录到 SQLite 数据库. 除了 NLog 之外,我还可以与 SQLite 数据库进行交互. 当我强制对 NLog 进行内部日志记录时,我看到以下错误: 初始化目标数据库目标时出错[db] System.TypeLoadException:无法从程序集“NLog,版本=4.0.0.0,Culture=neutral,PublicKeyToken=512 ..
发布时间:2021-06-07 20:33:46 C#/.NET

NLog - 禁用特定记录器

我想将所有记录器设置为记录到一个文件,但特定类的记录器除外.我似乎无法弄清楚该怎么做.目前我正在尝试以下 nlog.config 不管我做什么,拦截器都在记录 ..
发布时间:2021-06-07 20:33:43 其他开发

NLog OnNewLogFile 处理程序?

有没有我可以挂钩的事件处理程序或类似的东西,以便在每次 NLog 启动新的日志文件时运行一些代码? 我有一个这样的 NLog 配置: 而且我有点想在每个日志文件的开头添加一些元数据(版本号、机器名称等,以便每个日志文件都包含一些上下文信息) 我不希望能够在 NLog 本身中配置此文本,但我希望我可以告诉 NLog 在每次要创建新的日志文件时运行某个方法. 这是一回事吗? ..
发布时间:2021-06-07 20:33:40 其他开发

在日志文件中写入的 Windows 服务权限

我使用 C# 创建了一个 Windows 服务,该服务在 C:\ 中写入日志(使用 NLog)程序数据. 当我调试服务(在我的 Windows 7 上)(使用上面编写的代码)时,正确创建了日志文件并正确写入了日志记录.但是当我在运行于 Windows server 2008 (x86) 的服务器上安装该服务时,没有创建日志文件(我还检查了 C:\Windows\System32\,什么都没有). ..
发布时间:2021-06-07 20:33:34 C#/.NET

使用 NLog 自定义日期格式

在我看来,NLog 中的内置日期格式没有正确包含时区.我们需要使用尾随 Z 记录 UTC 时间,以便 Splunk 知道本地时间是什么,例如: {date:universalTime=true:format=yyyy-MM-dd HH:mm:ss.ffffZ} 这会产生我们需要的正确日期. 与其将其插入到我们跨多个应用程序的所有配置中,我更愿意定义一个变量来执行此操作,例如: ..
发布时间:2021-06-07 20:33:29 其他开发

动态更改日志文件的文件路径 .NET Core + NLog

在我的 .NET Core 应用程序中,我使用了一些环境,我想为每个环境设置不同的日志文件路径. 例如, 开发 - c:\logs暂存 - d\apps\logs 对于每个环境,我在 appsettings.{env}.json 中有配置部分: "LocalPaths": {"LogFileRootDirectory": "c:\\logs\\"} 和 nlog.config 的一部 ..
发布时间:2021-06-07 20:33:26 其他开发

使用 Nlog 将结构化日志写入 Google Stackdriver

我正在使用 Google.Cloud.Logging.NLog 目标将日志写入 Stackdriver.我想使用 Nlog &Stackdriver 结构化日志记录功能,根据 Stackdriver 文档发送 JSON 负载: 日志正在通过,但我似乎没有在日志中填充 jsonPayload 属性,这意味着我没有发送 JSON 负载.我是否需要为每种类型的日志配置 JsonLayout消息如下 ..
发布时间:2021-06-07 20:33:23 其他开发

NLog 自动截断消息

我正在将我的消息记录到一个最大大小为 1000 个字符的数据库字段中.目前,如果我尝试记录大于 1000 个字符的消息(通常包含带有堆栈跟踪、HTTP 请求内容等的异常信息),插入会失败,并且 NLog(它应该)会默默地忽略它并继续进行. 是否可以在 NLog.config 中添加一些内容来声明应始终截断消息长度,使其不超过 1000 个字符? 如果您能告诉我如何通过将 1000 个字符限 ..
发布时间:2021-06-07 20:33:20 C#/.NET