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

NLog显示'lambda_method‘而不是记录器名称

NLog是一个流行的开源日志记录库,用于在.NET平台上进行日志记录。当使用NLog进行日志记录时,有时会遇到日志消息中显示'lambda_method'而不是记录器名称的情况。

这种情况通常发生在使用匿名方法或Lambda表达式作为记录器名称时。由于匿名方法和Lambda表达式在编译时生成,它们的名称是动态的,因此在日志消息中显示为'lambda_method'。

为了解决这个问题,我们可以采取以下步骤:

  1. 使用具名方法作为记录器名称:将匿名方法或Lambda表达式替换为具名方法,这样在日志消息中将显示该方法的名称而不是'lambda_method'。例如:
代码语言:txt
复制
private static readonly Logger Logger = LogManager.GetLogger("MyLogger");

public void MyMethod()
{
    Logger.Info("This is a log message");
}
  1. 使用自定义布局规则:通过配置NLog的布局规则,我们可以自定义日志消息的格式。可以使用${logger}布局器来显示记录器的名称。例如:
代码语言:txt
复制
<target name="console" xsi:type="Console" layout="${logger} ${message}" />
  1. 使用NLog的条件日志记录功能:NLog提供了条件日志记录功能,可以根据特定条件来决定是否记录日志消息。我们可以使用${logger}布局器来显示记录器的名称。例如:
代码语言:txt
复制
<rules>
    <logger name="*" minlevel="Info" writeTo="console" />
    <logger name="lambda_method" minlevel="Debug" writeTo="null" />
</rules>

在上述示例中,我们将记录器名称为'lambda_method'的日志消息的最低日志级别设置为Debug,并将其写入空目标,从而实现不记录这些消息。

总结: NLog是一个强大的日志记录库,但在使用匿名方法或Lambda表达式作为记录器名称时,可能会遇到日志消息中显示'lambda_method'而不是记录器名称的情况。我们可以通过使用具名方法作为记录器名称、自定义布局规则或使用条件日志记录功能来解决这个问题。腾讯云提供了云原生服务,如云服务器、云数据库、云存储等,可以帮助您构建和管理云计算基础设施。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多相关产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 大数据显示:妹子嫁的是房子,不是

    此外,有69%的单身女性表示婚房以后由对方提供就好,自己不需要准备;认可租房结婚的女性仅占一成,超过半数的女性都不认可租房结婚这样的选择,理由是“房子不是自己的,没有安全感”。 ?...世纪佳缘数据显示,六成单身男与半数单身女的身边都发生过因“买不起房分手”这样的爱情悲剧,有63%的二线城市男士曾因买不起房“被分手”,可见,即使是在二线城市,想要结婚的男士面临的压力也不容小觑。...这样的“金句”,还是此次调研报告中半数以上的单身女性所表现出来的“无房不嫁”的坚定决心,都表明当下社会人们的婚恋观与以前相比已经出现了偏差,似乎越来越多的人开始为了互惠互利抱团、为了增加财富结婚。

    1.1K60

    .Net项目中NLog的配置与使用

    --项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->...> NLog配置文件信息简单概述: rules【规则】说明:   规则是logger具有以下属性的元素: name - 记录器名称过滤器 - 可能包含通配符(*和?)...在NLog 4.6.4中引入 注意:虽然命名了规则logger,但它没有定义记录器。它引用一个或多个记录器。 通过将规则name模式与记录器名称匹配,将规则映射到记录器。...,以通过通配符匹配来匹配记录器名称。 * - 匹配0个或更多字符 ? - 恰好匹配1个字符 targets【目标】:   每个目标由一个target元素表示。...例如,File目标接受fileName定义输出文件名的参数,Console目标具有error参数,该参数确定诊断跟踪是否写入标准错误(stderr)不是进程的标准输出(stdout)。

    4.1K30

    .NetCore 中使用Log4Net

    --项目日志保存文件路径说明fileName="${basedir}/保存目录,以年月日的格式创建/${shortdate}/${记录器名称}-${单级记录}-${shortdate}.txt"-->...配置文件信息简单概述: rules【规则】说明: 规则是logger具有以下属性的元素: name - 记录器名称过滤器 - 可能包含通配符(*和?)...在NLog 4.6.4中引入 注意:虽然命名了规则logger,但它没有定义记录器。它引用一个或多个记录器。 通过将规则name模式与记录器名称匹配,将规则映射到记录器。...,以通过通配符匹配来匹配记录器名称。 * - 匹配0个或更多字符 ? - 恰好匹配1个字符 targets【目标】: 每个目标由一个target元素表示。...例如,File目标接受fileName定义输出文件名的参数,Console目标具有error参数,该参数确定诊断跟踪是否写入标准错误(stderr)不是进程的标准输出(stdout)。

    90610

    拥抱.NET Core系列:Logging (1)

    ILoggerFactory:记录器工厂,直接面向使用者的,使用者可以通过记录器工厂添加记录器提供程序和创建记录器。...Warning 突出显示应用程序流中异常或意外事件的日志,但是否则不会导致应用程序执行停止。 Error 当当前执行流程由于失败停止时,会突出显示的日志。...这些应该指示当前活动中的故障,不是应用程序范围的故障。 Critical 描述不可恢复的应用程序或系统崩溃或灾难性的日志失败需要立即关注。 None 不用于写日志消息。...它提供了两个扩展方法,可以通过类型作为分类名称,如下: ? 如何根据类型确定分类名称?...后续的文章会分享如何集成第三方 Logging 组件,比如:NLog、log4jnet、Exceptionless 等。

    66011

    C# 日志管理框架:Common.Logging和log4net

    01 DLL引用 ‍common logging是一个通用日志接口框架,log4net是一个强大的具体实现框架. common logging可以把输出连接到其他非log类上, 如EntLib的日志、NLog...FILE-WATCH" /> 以上配置表示将log4net的配置放到单独的文件中 ②一个root日志记录器..." /> 其中:表示记录器会将所有级别的日志提交给这里配置的附加器 这里配置了一个附加器:LogFileAppender(配置文件中的appender...节点) 附加器(appender)可以定义多个,它只是一个声明,是否使用还是要看日志记录器是否引用了。...没有配置appender(附加器)将不会输出日志 03 用法举例 定义:其中T为当前类名称 运行结果: private static readonly Common.Logging.ILog logger

    1.7K20

    开源库Magicodes.WeChat.SDK总体介绍

    另外Word发博代码格式显示凌乱,因此相关代码均使用图片替代。可加群获取原始文档。 本篇主要对MAGICODES.WECHAT.SDK进行简单总体的介绍。...构造器——WeChatSDKBuilder 构造器用于构造SDK的一些初始化配置,比如日志记录器、存储器等。...目前提供了DebugLogger和NLog的具体实现,如果不满足需求,您完全可以编写自己的实现。...通过构造器设置了Api日志记录器之后,所有的API请求都会有相应的日志级别的日志输出。设置了支付日志记录器之后,所有的支付请求均由此记录器记录相关数据。存储提供程序后续会用到,目前是预留。...这个是一个比较简单的设计,不过值得注意的是,函数不是瞎注册就行的,为了便于大家对号入座,这里使用了一个枚举来对应相关的业务: ?

    88930

    C#如何设计一个好用的日志库?

    = string.Empty; static void Main(string[] args) { lock(strlock) // 在同一个日志文件操作范围添加同一个锁,避免多线程操作时因抢占资源报错...第一种方式:单独配置文件   常用名称NLog.config。此时需要在根节点 nlog 加上智能感知(Intellisense)的属性配置,详见下文配置文件 XML 代码。...levels:同时记录多个级别的日志,用逗号分隔; writeTo:和 target 节点的 name 属性值匹配,一个 rules 对应一个 target; enabled:通过值为 false 禁用规则,不用删除...> /// 实例化nLog,即为获取配置文件相关信息(获取以当前正在初始化的类命名的记录器) /// private readonly NLog.Logger logger = LogManager.GetCurrentClassLogger...要想高效分析日志,有几个问题需要解决: 快速定位,在海量日志信息中快速定位目标行; 高亮显示,以不同颜色显示目标行,以便分类提高辨识度; 只显示有用的行。

    59560

    【ASP.NET Core 基础知识】--部署和维护--日志记录和错误处理

    常见的内置提供程序包括控制台、文件、事件源等,第三方提供程序则可以是Serilog、NLog等。...以下是 ASP.NET Core 内置的几种日志记录提供程序以及它们的简单示例: ConsoleLoggerProvider (控制台日志记录器提供程序): // 在 Program.cs 中配置控制台日志记录器...// 配置其他中间件和管道 // ... } } 创建自定义错误页面视图: 接下来,需要在Views文件夹下创建一个名为"Error.cshtml"的视图文件,用于显示自定义的错误页面内容...友好专业:错误页面应该给用户一种友好专业的感觉。使用亲切的语言表达你的歉意,并向用户传达你正在努力解决问题的信息。同时,错误页面的设计应与你应用程序的整体风格一致,以保持品牌统一性。...包含品牌标识:在错误页面中包含你的应用程序的品牌标识,比如应用程序的名称、标志或图标,以提醒用户他们正在使用你的应用程序,并增强品牌的可识别性。

    10200

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

    因为不仅做到对于错误信息做到记录,还需要记录程序在运行时的访问日志,所以将日志信息写入到关系型数据库中就不是特别合适了。   ...,安装的是 MongoDB 4.0 以上的版本,这些统统都不要,是不是很超值。   ...PS:这里,我使用账户、密码登录进入 GrapefruitVuCore 后,右侧的连接下面是没有显示这个数据库的,但这个数据库是真实存在的,不晓得这是个啥问题。 ?   ...来为 NLog 添加更多的输出介质支持, NLog.Mongo 就是为 NLog 添加输出日志信息到 MongoDB 的支持。...extensions:当你不仅仅只使用 NLog 这一个基础的 dll ,并使用了一些基于 NLog 扩展的工具时,你就需要在 extensions 节点下面添加引用的程序集名称

    1.7K10

    Python日志记录:一个深入的教程

    Python记录处理程序 日志处理程序是有效写入/显示日志的组件:在控制台console (通过StreamHandler),文件file (通过FileHandler)或通过SMTPHandler发送电子邮件等方式显示它...记录器名称是唯一的,这意味着如果创建了名称为“toto”的记录器,随后的调用logging.getLogger("toto")将返回相同的对象: assert id(logging.getLogger...(例如,如果日志级别低于记录器级别,日志将被忽略),它使用其“有效级别”不是实际级别。...要使用日志记录,请确保使用创建新的日志记录器logging.getLogger(logger name)。我通常 __name__用作记录器名称,但只要一致,任何东西都可以使用。...module name") my_logger.debug("a debug message") 使用RotatingFileHandler类(如本例中使用的TimedRotatingFileHandler不是

    2.1K30

    C#中的简单异步记录器

    C#中的简单异步记录器 C#中的简单异步记录器 介绍 背景 使用代码 数据封装 编写日志条目 未来的工作 兴趣点 历史 许可证 关于作者 源代码 C#中的简单异步记录器 本文翻译自CodeProject...这里有NLog,Log4Net,Enterprise Logging,Serilog和Common.Logging,仅举几例。...不难找到由才华横溢的开发人员编写的日志库,这些开发人员花费了大量时间和精力来创建强大功能丰富的软件。 这个问题还需要解决吗? 背景 好吧,几个月前,我自己在市场中寻找日志记录库。...我想要一个简单的API,可以用来记录诸如时间戳,日志名称,线程ID和消息之类的信息。 我对Log4Net API非常熟悉,并从中大量借鉴了经验。...此调用可能不是对日志文件进行多次写操作的最有效方法,但其选择是基于保持代码尽可能简单的愿望。 所以你有它。一个非常简单的日志记录实现,完全能够满足大多数应用程序的日志记录需求。

    65720
    领券