tnblog
首页
视频
资源
登录

Serilog 日志简用

13888人阅读 2018/12/18 15:50 总访问:3464553 评论:0 收藏:0 手机
分类: .net后台框架


Serilog 是一个用于.NET应用程序的日志记录开源库,配置简单,接口干净,并可运行在最新的.NET平台上,与其他日志库

不同, Serilog 是以功能强大的结构化事件数据为基础构建的, 支持将日志输出到控制台、文件、数据库和其它更多的方式,

支持参数化日志模板,非常灵活。

                               




下面我带大家来实践一下 Serilog 框架的简单配置,首先,使用NuGet控制台安装 Serilog 核心库,其次安装控制台输出扩展库,

如果你想将日志输出到其它存储介质,可安装其它扩展库,Serilog支持的扩展库是很多的。



  1. Install Package Serilog
  2. Install Package Serilog.Sinks.Console

                                                               

引入命名空间:

  1. using Serilog;

    

初始化LoggerConfiguration对象:

  1. var Therelog = new LoggerConfiguration()
  2.        .WriteTo.Console()
  3.        .CreateLogger();

                                                                

通常写日志我们只需要一个对象就可以了

  1. Therelog.Information("初次见面,多多关照,赶快尝试一下吧!");

                            

还可以把对象设置为全局:

  1. //这样如何地方都可以记录日志了
  2. Log.Logger = Therelog;
  3. Log.Information("Now the global settings are set up ");


不仅如此,还可以记录到某个文件哟!但需要扩展包so...

  1. Install Package Serilog.Sinks.File


在控制台中配置日志记录器,与 ASP.NET Core 中的配置是一样的:


  1. using System;
  2. using Serilog;
  3. namespace SerilogExample{
  4.                 class Program
  5.                           {      
  6.                          static void Main(){
  7.       
  8.                              //链式方法作用:1,初始化 2,接受最低级别 3,从控制台输出 4,日志保存位置
  9.                      //5,创建日志记录器
  10.                      Log.Logger = new LoggerConfiguration()
  11.                            .MinimumLevel.Debug()
  12.                            .WriteTo.Console()
  13.                            .WriteTo.File("logs\\myapp.txt", rollingInterval: RollingInterval.Day)
  14.                            .CreateLogger();
  15.                      //提示输出
  16.                      Log.Information("Hello, world!");
  17.                      int a = 10, b = 0;       
  18.                      try
  19.                       {
  20.                            //提醒可能要保存的地方
  21.                            Log.Debug("Dividing {A} by {B}", a, b);
  22.                            Console.WriteLine(a / b);
  23.                        }            
  24.                      catch (Exception ex)
  25.                       {
  26.                            //报错日志输出
  27.                            Log.Error(ex, "Something went wrong");
  28.                        }
  29.                            //重置全局设置
  30.                            Log.CloseAndFlush();
  31.                            Console.ReadKey();
  32.                       }
  33.               }
  34. }

                

其他配置:

  1. Log.Logger = new LoggerConfiguration()
  2.     .MinimumLevel.Debug()
  3.     .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
  4.     .Enrich.FromLogContext()
  5.     .WriteTo.Console()
  6.     .WriteTo.File(Path.Combine("Logs", @"log.txt"), rollingInterval: RollingInterval.Day)
  7.     .CreateLogger();

                    Impact-Site-Verification: fa1aa124-2a1a-4ce4-a855-7d566efb6468                           

本篇讲得很简略大家可以参考 官方文档 

如想深入了解Serilog可以参考这篇博客:

                                                        


                                                                                        https://www.cnblogs.com/mq0036/p/8479956.html


                                                                

                                                                              

                                                               


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

Serilog日志记录到Sqlserver以及其中存在的问题

1.首先来一大串的安装Install-PackageSerilog //控制台输出 Install-PackageSerilog.Sinks.Console //文件输出 Install...

.net core 结构化日志组件Serilog:记录对查询分析友好的日志

.net core 结构化日志组件Serilog:记录对查询分析友好的日志[TOC] 结构化日志的好处 易于检索易于分析统计 场景举例 ...

.net 使用 Serilog 和 Seq 构建强大的日志系统

.net 使用 Serilog 和 Seq 构建强大的日志系统[TOC] 在现代软件开发中,日志记录是确保应用程序稳定性和可维护性的关键环...

Python实例 1-日志抓取处理 补错(附日志小技巧)

有时候数据出了问题,可以从日志中恢复数据(如果你没记日志..没备份..→_→..)一、日志展示介绍个平常自己用的小方法,如...

net core配置错误日志

发布net core项目的时候经常会遇到错误,在页面上也不好直接看到。可能就提示一句话:An error occurred while starting th...

Net Core使用日志 NLog

一:使用Nuget执行命令下载NLog相关依赖 Install-Package NLog.Extensions.Logging -Pre Install-Package NLo...

日志是写数据库好还是文件好,以及日志策略

先来看看大佬的一句话:离开需求谈技术都是扯淡主要是看你的日志是为了只做一个存储归档,还是要把数据对统计与分析如果只...

封装调用api接口的通用方法(抱含存调用接口日志)

protectedstaticreadonlylog4net.ILog_log=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod(...

日志文件写入

//新建一个类 publicstaticvoidWrite(stringconter,stringtype,stringremark) { stringname=DateTime.Now.ToShortDateSt...

.net core 日志框架:聊聊记日志的最佳姿势

.net core 日志框架:聊聊记日志的最佳姿势[TOC] 必要的依赖包 Microsoft.Extensions.Configuration.JsonMicrosoft.E...

.net core 日志作用域:解决不同请求之间的日志干扰

.net core 日志作用域:解决不同请求之间的日志干扰[TOC] 作用域的场景 一个事务包含多条操作时复杂流程的日志关联时调...

windows下清理nginx日志

nginx日志文件太大了,容易影响性能,可以直接删除,nginx会自动创建,但是有可能在直接删除的时候删除不了,nginx一运行又...

docker查看日志

docker logs <container> 后面可以接容器id

sqlserver定时备份执行失败。有关详细信息,请参阅维护计划和 SQL Server 代理作业历史记录日志

考虑是不是SQLServerAgent 没有启动,启动后执行一下定时备份试试

.net core+seq实现日志中心

[TOC] 为什么需要日志中心日志是编写程序常用的功能。在我们排查问题的时候日志是非常有用的。我们的每个服务都在不停的生...
这一世以无限游戏为使命!
排名
2
文章
633
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术