首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NLog HttpTarget in .net核心6

NLog HttpTarget in .net核心6
EN

Stack Overflow用户
提问于 2022-02-03 02:09:19
回答 1查看 422关注 0票数 -2

我有一个rest api,它需要将日志发送到一个中央Api。我使用NLog在.netcore 6中进行日志记录,并使用Http将日志发送到中央日志记录api:

这就是我如何在app.config.json中调整Http目标的方法。

"Http":{ "type":"HTTP","URL":"https://localhost:7217/Log/*"“,"IgnoreSslErrors":"true",”IgnoreSslErrors“:”JsonLayout“:{ "type":"JsonLayout","_json”},{“_json”},{“_json”:"${machinename}“},{”事件“:{ "type":"JsonLayout",“属性”:{“级别”:"${level:upperCase=true}“},{”源“:"${logger}”},{“线程”:"${threadid}“},{”消息“:"${message}”},{ "utc":“${date:universalTime=true:format=yyyy dd HH\:mm\:ss.fff}”}}}

在中央服务中,我创建了方法,以接收日志:

[HttpPost("LogsEntry")] [Consumes(MediaTypeNames.Application.Json)] public async Task<ActionResult> PostLogsEntryAsync([FromBody] Event rt) { ... }

在中心Api方法中,我必须期望的c#对象(事件)是什么?如何用NLog捕获由Http发送的事件日志,我的事件对象应该具有哪些属性?在Nlog中找不到很多关于HttpTarget的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-16 20:10:39

我的事件对象应该具有哪些属性?

答案是:这取决于你。HTTP目标不以NLog确定的格式发送固定消息。相反,您可以在layout属性中定义日志消息所具有的字段。

示例

假设我们的目标配置如下所示:

代码语言:javascript
复制
"http": {
  "type": "HTTP",
  "url": "https://localhost:7065/Log",
  "IgnoreSslErrors": "true",
  "contentType": "application/json",
  "layout": {
    "type": "JsonLayout",
    "attributes": [
      {
        "name": "level",
        "layout": "${level:upperCase=true}"
      },
      {
        "name": "source",
        "layout": "${logger}"
      },
      {
        "name": "thread",
        "layout": "${threadid}"
      },
      {
        "name": "message",
        "layout": "${message}"
      },
      {
        "name": "utc",
        "layout": "${date:universalTime=true:format=yyyy-MM-dd HH\\:mm\\:ss.fff}"
      }
    ]
  }
}

然后相应的Event模型将如下所示:

代码语言:javascript
复制
public class Event
{
    public string Level { get; set; }

    public string Source { get; set; }

    public string Thread { get; set; }

    public string Message { get; set; }

    public string Utc { get; set; }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70965150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档