前言

Serilog,支持对象,把log数据序列化成Json,好用方便,容易拓展。Github: https://github.com/handsomeyao77/serilog-sinks-elasticsearch

读取配置文件的

配置文件分为App.config和appsetting.json两种。

读取appsettings.json,主要是Web app 类型,首先在服务启动时要注入json文件:

读取配置:

配置App.config,高亮部分是必要的key:

读取配置:

当然,有时候可以Hard code,这里分享一种方式:

Serilog的常见类型

1.Information.

2.Debug.

3.Error.

因为LogEventBase作为基类,可以继承拓展一下。

public class LogEventBase
{
[FieldOrder(0)]
public LogEventType EventType { get; set; } [FieldOrder(1)]
public string Role { get; set; } [FieldOrder(2)]
public string RoleInstance { get; set; } [FieldOrder(3)]
public string Ip { get; set; } [FieldOrder(4)]
public int Port { get; set; } [FieldOrder(5)]
public DateTime Timestamp => DateTime.UtcNow; [FieldOrder(6)]
public string Message { get; set; } [FieldOrder(7)]
public IActivity Activity { get; set; } [FieldOrder(8)]
public string EnvironmentName => Environment.MachineName;
}

根据业务拓展:

public class LatencyEvent : LogEventBase
{
[FieldOrder(9)]
public long Latency { get; set; } [FieldOrder(10)]
public string SearchId { get; set; }
} public class SearchEvent : LogEventBase
{
[FieldOrder(9)]
public string SearchId { get; set; }
[FieldOrder(10)]
public string SearchString { get; set; }
} public class LuisEvent : LogEventBase
{
[FieldOrder(9)]
public LuisResult LuisResult { get; set; }
} public class ExceptionEvent : LogEventBase
{
[FieldOrder(10)]
public Exception Exception { get; set; }
}

LogEventType是比较实用的,在kibana查看log是作为过滤条件能节省很多时间。

使用方法

1.Information

2.Error

Kibana

打开kibana主页,选择对应的template,可以说非常好用的log工具。可以按照log的时间,或者输入查询条件:

或者按照LogEventType,可以快速定位到target:

.Net Core的Log方式:Serilog+Kibana的更多相关文章

  1. ASP.NET Core 集成测试中通过 Serilog 向控制台输出日志

    日志是程序员的雷达,不仅在生产环境中需要,在集成测试环境中也需要,可以在持续集成失败后帮助定位问题.与生产环境不同,在集成测试环境中使用控制台输出日志更方便,这样可以通过持续集成 runner 执行 ...

  2. 在Salesforce中通过 Debug Log 方式 跟踪逻辑流程

    在Salesforce中通过 Debug Log方式 跟踪逻辑流程 具体位置如下所示: Setup ---> Logs ---> Debug Logs ---> Monitored ...

  3. asp.net core 自定义认证方式--请求头认证

    asp.net core 自定义认证方式--请求头认证 Intro 最近开始真正的实践了一些网关的东西,最近写几篇文章分享一下我的实践以及遇到的问题. 本文主要介绍网关后面的服务如何进行认证. 解决思 ...

  4. ASP.NET Core默认注入方式下如何注入多个实现(多种方式) - sky 胡萝卜星星 - CSDN博客

    原文:ASP.NET Core默认注入方式下如何注入多个实现(多种方式) - sky 胡萝卜星星 - CSDN博客 版权声明:本文为starfd原创文章,转载请标明出处. https://blog.c ...

  5. 使用.NET Core创建Windows服务 - 使用.NET Core工作器方式

    原文:Creating Windows Services In .NET Core – Part 3 – The ".NET Core Worker" Way 作者:Dotnet ...

  6. ASP.NET Core Logging in Elasticsearch with Kibana

    在微服务化盛行的今天,日志的收集.分析越来越重要.ASP.NET Core 提供了一个统一的,轻量级的Logining系统,并可以很方便的与第三方日志框架集成.我们也可以根据不同的场景进行扩展,因为A ...

  7. .Net Core 3.0 使用 Serilog 把日志记录到 SqlServer

    Serilog简介 Serilog是.net中的诊断日志库,可以在所有的.net平台上面运行.Serilog支持结构化日志记录,对复杂.分布式.异步应用程序的支持非常出色.Serilog可以通过插件的 ...

  8. 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

    使用Serilog来实现日志记录 先安装Serilog六件套神装包: 也可以对个别相应的包进行删除等,都是可以的.例如,标注的1是读取配置文件的,如果不需要通过配置文件进行操作,就可以使用这个包.2是 ...

  9. dotnet core 实践——日志组件Serilog

     前几天把基于quartz.net的部分项目代码移植到了dotnet core ,但是没增加日志功能,原因是没找到合适的组件. 今天终于找到了Serilog: https://github.com/s ...

随机推荐

  1. BZOJ_1833_[ZJOI2010]count 数字计数_数位DP

    BZOJ_1833_[ZJOI2010]count 数字计数_数位DP 题意: 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 分析: 数位DP f[i][ ...

  2. BZOJ_3932_[CQOI2015]任务查询系统_主席树

    BZOJ_3932_[CQOI2015]任务查询系统_主席树 题意: 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei,P ...

  3. ll 和 ls -l的详解

    ll会列出该文件下的所有文件信息,包括隐藏文件 而ls -l 只会列出显示文件 ll 命令列出的信息更加详细,有时间,是否可读写等信息 ll命令和ls -l命令结果区别: 上面结果说明: 各个字段的含 ...

  4. ArchLinux 安装五笔输入法

    说明 自己的笔记本已经全盘做成了ArchLinux系统了,用着还好,苦于常用的五笔输入法在Arch下有点不太好装,参考wiki弄好了,这里简单记录下 这里使用ibus-rime 原因有二: ibus- ...

  5. Django admin自定制功能

    一:基础设置 1.应用注册 1)方式一 若要把app应用显示在后台管理中,需要在admin.py中注册.打开admin.py文件,如下代码: from django.contrib import ad ...

  6. TensorFlow之DNN(一):构建“裸机版”全连接神经网络

    博客断更了一周,干啥去了?想做个聊天机器人出来,去看教程了,然后大受打击,哭着回来补TensorFlow和自然语言处理的基础了.本来如意算盘打得挺响,作为一个初学者,直接看项目(不是指MINIST手写 ...

  7. js的异步加载你真的懂吗

    面试高频之js的异步加载 讲这个问题之前, 我们从另一个面试高频问题来切入, 我们的web页面从开始解析到页面渲染完成都经历了什么 ?  1  ,  创建document对象, 开始解析页面,    ...

  8. 从壹开始微服务 [ DDD ] 之十一 ║ 基于源码分析,命令分发的过程(二)

    缘起 哈喽小伙伴周三好,老张又来啦,DDD领域驱动设计的第二个D也快说完了,下一个系列我也在考虑之中,是 Id4 还是 Dockers 还没有想好,甚至昨天我还想,下一步是不是可以写一个简单的Angu ...

  9. 基于tcp实现远程执行命令

    命令执行服务器: # Author : Kelvin # Date : 2019/1/30 20:10 from socket import * import subprocess ip_conf = ...

  10. 看板记录工具wekan

    wekan 1. 功能 看板工具 2. 安装 环境: centos7.4 安装链接 snap方式 安装脚本(root用户) #!/bin/bash yum makecache fast yum ins ...