小编Bac*_*dAs的帖子

AspNet Core 5.0并注册自定义NLog LayoutRenderer

我在 ASP Net Core 5.0 应用程序中使用 NLog.Web.AspNetCore 4.10.0。我创建了一个简单的自定义 ResultLayoutRenderer (为简单起见缩短):

[LayoutRenderer("result-payload")]
public class ResultLayoutRenderer : AspNetLayoutRendererBase
{
    protected override void DoAppend(StringBuilder builder, LogEventInfo logEvent)
    {
        var httpRequest = HttpContextAccessor?.HttpContext?.Request;
        var result = httpRequest.Headers["Result"];
        builder.Append(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的 NLog 配置如下:

<?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"
      autoReload="true">

    <!-- enable asp.net core layout renderers -->
    <extensions>
        <add assembly="NLog.Web.AspNetCore"/>
    </extensions>
    
    <targets>
        <target xsi:type="Null" name="blackhole" />
        <target name="database" xsi:type="Database"
            dbProvider="Npgsql.NpgsqlConnection, Npgsql"
            dbHost="${configsetting:name=NlogConnection.DbHost}"
            dbDatabase="${configsetting:name=NlogConnection.Database}"
            dbUserName="${configsetting:name=NlogConnection.User}"
            dbPassword="${configsetting:name=NlogConnection.Password}"">
            
            <commandText>
                INSERT INTO logs (Application, Logged, Level, Message, …
Run Code Online (Sandbox Code Playgroud)

c# nlog asp.net-core-5.0

2
推荐指数
1
解决办法
2562
查看次数

标签 统计

asp.net-core-5.0 ×1

c# ×1

nlog ×1