将自定义对象发送到自定义布局渲染器NLog ASP.NET Core

格拉吉(A. Gladkiy)

将错误数据保存到db后,我需要将错误数据打印到NLog文件,并且我想为此编写自定义布局渲染器。

[LayoutRenderer("error-data")]
public class ErrorDataLayoutRenderer : AspNetLayoutRendererBase
{
    protected override void DoAppend(StringBuilder builder, LogEventInfo logEvent)
    {
        builder.Append($"{error.Id} | {error.LoggedDate} | {error.Url}");
    }
}

我想写在nlog.config中

<target xsi:type="File" name="errors" fileName="c:\log.errors.txt"
             layout=${error-data}" />

并在服务中:

var error = service.LogError(data);
Logger Logger = LogManager.GetCurrentClassLogger();
Logger.Error(error); //or something like that

error-表示数据库中实体的类。它具有一些属性,例如:Id, LoggedDate, Summary等。如何error在此处获取对象?

朱利安

您可以将其与LogEventInfo属性一起发送最简单的方法是使用流畅的界面using NLog.Fluent;

正在记录:

var logger = LogManager.GetCurrentClassLogger();
var error = ..;
logger.Error().Property("prop1", error).Write(); //don't forget .Write()!

在您的目标中:

protected override void DoAppend(StringBuilder builder, LogEventInfo logEvent)
{
    var error = logEvent.Properties["prop1"]; //read the property
    builder.Append($"{error.Id} | {error.LoggedDate} | {error.Url}");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

.NET Core在将自定义ITicketStore实现返回的键值发送到浏览器之前会做什么?

来自分类Dev

将自定义验证添加到ASP.NET Core的JWT令牌中?

来自分类Dev

无法将自定义设置文件添加到Asp.Net Core 3.1 WebApi

来自分类Dev

将自定义api端点添加到ASP:Net Core模板

来自分类Dev

ASP.NET Core中的自定义支架模板

来自分类Dev

自定义角色的Asp Net Core 3.1授权

来自分类Dev

ASP.NET Core MVC自定义站点变量

来自分类Dev

ASP Net Core Web API自定义模型验证

来自分类Dev

asp.net core mvc 中的自定义授权

来自分类Dev

Asp.net Core Api 自定义路由

来自分类Dev

ASP.NET Core 中的自定义路由

来自分类Dev

自定义授权属性asp.net core

来自分类Dev

自定义授权筛选器在ASP.NET Core 3中不起作用

来自分类Dev

如何在ASP.NET Core RC2中获取控制器的自定义属性

来自分类Dev

如何在服务器端Blazor中自定义ASP.NET Core身份?

来自分类Dev

如何在ASP.NET Core中创建也会触发无效输入的自定义验证器?

来自分类Dev

ASP.NET Core 3.1中QueryString字符串参数的自定义模型绑定器?

来自分类Dev

是否可以在ASP.NET Core中使用自定义ModelState验证提供程序?

来自分类Dev

在ASP.NET Core中使用Authorize属性和自定义Cookie身份验证

来自分类Dev

ASP.NET Core中的自定义授权属性

来自分类Dev

ASP.Net Core MVC-自定义属性的客户端验证

来自分类Dev

如何在ASP.NET Core中实现自定义模型验证?

来自分类Dev

ASP.NET Core 1.0。不记名令牌,无法访问自定义声明

来自分类Dev

ASP.NET Core RC2配置自定义AppSettings

来自分类Dev

重定向到ASP.NET Core的自定义“访问被拒绝”页面

来自分类Dev

Visual Studio 2015 ASP.NET Core RC2:自定义项模板的丢失

来自分类Dev

Http错误404.13 ASP.NET Core MVC的自定义错误页面

来自分类Dev

AuthorizeAttribute返回ASP.net Core中的自定义值(无替代)

来自分类Dev

自定义AuthenticationHandler在Asp.Net Core 3中不起作用

Related 相关文章

  1. 1

    .NET Core在将自定义ITicketStore实现返回的键值发送到浏览器之前会做什么?

  2. 2

    将自定义验证添加到ASP.NET Core的JWT令牌中?

  3. 3

    无法将自定义设置文件添加到Asp.Net Core 3.1 WebApi

  4. 4

    将自定义api端点添加到ASP:Net Core模板

  5. 5

    ASP.NET Core中的自定义支架模板

  6. 6

    自定义角色的Asp Net Core 3.1授权

  7. 7

    ASP.NET Core MVC自定义站点变量

  8. 8

    ASP Net Core Web API自定义模型验证

  9. 9

    asp.net core mvc 中的自定义授权

  10. 10

    Asp.net Core Api 自定义路由

  11. 11

    ASP.NET Core 中的自定义路由

  12. 12

    自定义授权属性asp.net core

  13. 13

    自定义授权筛选器在ASP.NET Core 3中不起作用

  14. 14

    如何在ASP.NET Core RC2中获取控制器的自定义属性

  15. 15

    如何在服务器端Blazor中自定义ASP.NET Core身份?

  16. 16

    如何在ASP.NET Core中创建也会触发无效输入的自定义验证器?

  17. 17

    ASP.NET Core 3.1中QueryString字符串参数的自定义模型绑定器?

  18. 18

    是否可以在ASP.NET Core中使用自定义ModelState验证提供程序?

  19. 19

    在ASP.NET Core中使用Authorize属性和自定义Cookie身份验证

  20. 20

    ASP.NET Core中的自定义授权属性

  21. 21

    ASP.Net Core MVC-自定义属性的客户端验证

  22. 22

    如何在ASP.NET Core中实现自定义模型验证?

  23. 23

    ASP.NET Core 1.0。不记名令牌,无法访问自定义声明

  24. 24

    ASP.NET Core RC2配置自定义AppSettings

  25. 25

    重定向到ASP.NET Core的自定义“访问被拒绝”页面

  26. 26

    Visual Studio 2015 ASP.NET Core RC2:自定义项模板的丢失

  27. 27

    Http错误404.13 ASP.NET Core MVC的自定义错误页面

  28. 28

    AuthorizeAttribute返回ASP.net Core中的自定义值(无替代)

  29. 29

    自定义AuthenticationHandler在Asp.Net Core 3中不起作用

热门标签

归档