首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我的布局以${pad...}开始时,为什么NLog不产生任何输出?

当布局以${pad...}开始时,NLog不会产生任何输出的原因是该布局格式指示了一个填充(Padding)操作,但是未提供要填充的内容。

在NLog中,${pad...}是一种布局格式,用于将输出文本填充到指定的长度。它可以用于在日志中对齐文本或数字,并指定填充的字符和长度。

${pad...}出现在布局中,并且未提供任何内容时,NLog不会产生任何输出。这是因为NLog需要知道要填充的具体内容,才能确定输出结果。

要解决这个问题,你需要在${pad...}中提供要填充的内容。可以使用${pad:padding=character:inner=${...}:length=number}来指定填充的字符、要填充的内容以及填充的长度。

下面是一个示例布局,使用${pad...}来填充文本:

代码语言:txt
复制
<target name="file" xsi:type="File" fileName="log.txt" layout="${pad:padding=-:inner=${longdate}|${level:uppercase=true}|${message}:length=50}"/>

上述示例中,${pad...}用于将${longdate}|${level:uppercase=true}|${message}填充到长度为50,并使用-作为填充字符。

相关链接:

  • NLog官方文档:NLog
  • NLog布局格式文档:Layout renderers
  • NLog相关的腾讯云产品:暂无
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志、错误日志,可以让我们对于系统的运行情况做到很好的掌控。同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通过对这些数据进行集中分析,可以产生极大的价值。   在微服务的系统架构中,由于一个系统会被拆成很多个功能模块,每个模块负责不同的功能,对于日志系统的要求也会更高,比较常见的有 EFLK(ElasticSearch + Filebeat + LogStash + Kibana) 方案,而对于我们这种单体应用来说,由于程序的代码比较集中,所以我们主要采用手写日志帮助类或是使用第三方组件的形式进行日志信息的记录。

01
  • 编程语言.NET 进程内队列 Channel 的入门与应用

    最近,博主为 FakeRPC[1] 增加了 WebSocket[2] 协议的支持。这意味着,我们可以借助其全双工通信的特性,在一个连接请求内发送多条数据。FakeRPC 目前最大的遗憾是,建立在 HTTP 协议上而不是 TCP/IP 协议上。因此,考虑 WebSocket 协议,更多的是为了验证 JSON-RPC[3] 的可行性,以及为接下来的要支持的 TCP/IP 协议铺路。也许,你从未意识到这些概念间千丝万缕的联系,可如果我们把每一次 RPC 调用都理解为一组消息,你是不是就能更加深刻地理解 RPC 这个稍显古老的事物了呢?在编写 FakeRPC 的过程中,我使用了 .NET 中的全新数据结构 Channel 来实现消息的转发。以服务端为例,每一个 RPC 请求经过 CallInvoker 处理以后,作为 RPC 响应的结果其实并不是立即发回给客户端,而是通过一个后台线程从 Channel 取出消息再发回客户端。 那么,博主为什么要舍近求远呢?我希望,这篇文章可以告诉你答案。

    01
    领券