当前位置: 首页 > wzjs >正文

山东青岛网站建设网站域名在哪里查询

山东青岛网站建设,网站域名在哪里查询,做的网站怎么在电脑上预览,乳山网站建设Serilog 的基本概念日志级别日志输出目标(Sink) 安装 Serilog配置 Serilog程序代码中配置通过配置文件配置 常见配置选项日志级别文件日志控制台日志数据库日志 使用 Serilog 在 ASP.NET Core 中安装 NuGet 包配置 Serilog 日志上下文总结 Serilog 是一个…

  • Serilog 的基本概念
    • 日志级别
    • 日志输出目标(`Sink`)
  • 安装 `Serilog`
  • 配置 `Serilog`
    • 程序代码中配置
    • 通过配置文件配置
  • 常见配置选项
    • 日志级别
    • 文件日志
    • 控制台日志
    • 数据库日志
  • 使用 `Serilog` 在 `ASP.NET Core` 中
    • 安装 `NuGet` 包
    • 配置 `Serilog`
  • 日志上下文
  • 总结

Serilog 是一个流行的 .NET 日志库,用于记录应用程序的运行日志。它提供了灵活的配置方式和丰富的日志输出选项,支持将日志输出到控制台、文件、数据库、云存储等多种目标。以下是关于 SerilogC# 中的使用方法和一些常见配置的介绍。

Serilog 的基本概念

日志级别

Serilog 支持多种日志级别,从低到高依次是:

  • Verbose(详细):记录最详细的信息,通常用于调试。
  • Debug(调试):记录调试信息,比 Verbose 稍低。
  • Information(信息):记录正常运行时的信息。
  • Warning(警告):记录可能影响正常运行的警告信息。
  • Error(错误):记录运行时的错误。
  • Fatal(致命):记录导致应用程序崩溃的致命错误。

日志输出目标(Sink

Serilog 支持多种日志输出目标,例如:

  • 控制台(Console
  • 文件(File
  • 数据库(如 SQL ServerMySQL
  • 云存储(如 Azure Blob StorageAWS S3
  • 日志聚合工具(如 ElasticsearchSeq

安装 Serilog

C# 项目中使用 Serilog,首先需要安装相关的 NuGet 包。以下是一些常用的 Serilog 包:

  • Serilog:核心日志库。
  • Serilog.Sinks.Console:将日志输出到控制台。
  • Serilog.Sinks.File:将日志输出到文件。
  • Serilog.Sinks.MSSqlServer:将日志输出到 SQL Server 数据库。
  • Serilog.Settings.Configuration:通过配置文件(如 appsettings.json)配置 Serilog
    可以通过 NuGet 包管理器安装这些包。

配置 Serilog

程序代码中配置

在代码中直接配置 Serilog 是最直接的方式。以下是一个简单的示例:

using Serilog;
using Serilog.Sinks.File;class Program
{static void Main(string[] args){// 配置日志Log.Logger = new LoggerConfiguration().MinimumLevel.Debug() // 设置最低日志级别.WriteTo.Console()    // 输出到控制台.WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Day) // 输出到文件,按天滚动.CreateLogger();// 写入日志Log.Information("This is an information message.");Log.Warning("This is a warning message.");Log.Error("This is an error message.");// 关闭日志Log.CloseAndFlush();}
}

通过配置文件配置

Serilog 也支持通过配置文件(如 appsettings.json)进行配置,这种方式更加灵活。首先需要安装 Serilog.Settings.Configuration 包:
然后在 appsettings.json 文件中配置 Serilog

{"Serilog": {"MinimumLevel": "Debug","WriteTo": [{"Name": "Console"},{"Name": "File","Args": {"path": "logs/log.txt","rollingInterval": "Day"}}]}
}

在程序中加载配置文件并初始化 Serilog

using Microsoft.Extensions.Configuration;
using Serilog;class Program
{static void Main(string[] args){// 加载配置文件var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();// 配置 SerilogLog.Logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger();// 写入日志Log.Information("This is an information message.");Log.Warning("This is a warning message.");Log.Error("This is an error message.");// 关闭日志Log.CloseAndFlush();}
}

常见配置选项

日志级别

可以通过 MinimumLevel 设置最低日志级别,低于该级别的日志将不会被记录。例如:

Log.Logger = new LoggerConfiguration().MinimumLevel.Warning() // 只记录 Warning 及以上级别的日志.CreateLogger();

文件日志

文件日志是常用的日志输出方式。Serilog 提供了丰富的文件日志配置选项,例如:

  • 文件路径:指定日志文件的存储路径。
  • 滚动策略:按时间(如按天、按小时)或大小滚动日志文件。
  • 保留策略:设置保留的日志文件数量或天数。
Log.Logger = new LoggerConfiguration().WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Day, retainedFileCountLimit: 7).CreateLogger();

控制台日志

控制台日志可以实时显示日志信息,方便调试。可以通过以下方式配置控制台日志:

Log.Logger = new LoggerConfiguration().WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {Message}{NewLine}{Exception}").CreateLogger();

其中,outputTemplate 可以自定义日志的输出格式。

数据库日志

Serilog 支持将日志输出到多种数据库,例如 SQL ServerMySQL 等。以下是将日志输出到 SQL Server 数据库的示例:

Log.Logger = new LoggerConfiguration().WriteTo.MSSqlServer(connectionString: "Server=your_server;Database=your_database;User Id=your_user;Password=your_password;",tableName: "Logs",autoCreateSqlTable: true).CreateLogger();

在数据库中,Serilog 会自动创建一个日志表(如 Logs),并存储日志信息。

使用 SerilogASP.NET Core

Serilog 也可以与 ASP.NET Core 集成,为 Web 应用程序提供日志功能。以下是一个集成的示例:

安装 NuGet

安装以下 NuGet 包:

  • Serilog.AspNetCore
  • Serilog.Sinks.Console
  • Serilog.Sinks.File

配置 Serilog

Program.cs 文件中配置 Serilog

using Serilog;var builder = WebApplication.CreateBuilder(args);// 配置 Serilog
Log.Logger = new LoggerConfiguration().MinimumLevel.Debug().WriteTo.Console().WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Day).CreateLogger();builder.Host.UseSerilog();var app = builder.Build();app.MapGet("/", () => "Hello World!");app.Run();

ASP.NET Core 中,Serilog 会自动记录应用程序的生命周期事件(如启动、停止)以及中间件的日志。

日志上下文

Serilog 支持日志上下文,可以在日志中添加上下文信息,例如用户 ID、请求 ID 等。以下是一个示例:

using Serilog;
using Serilog.Context;Log.Logger = new LoggerConfiguration().WriteTo.Console().CreateLogger();using (LogContext.PushProperty("UserId", 12345))
{Log.Information("User {UserId} performed an action.", 12345);
}

在日志中,UserId 将作为上下文信息被记录。

总结

Serilog 是一个功能强大且灵活的日志库,适用于各种 .NET 应用程序。它支持多种日志输出目标和丰富的配置选项,可以满足不同的日志需求。通过合理配置 Serilog,可以方便地记录应用程序的运行日志,帮助开发人员进行调试和问题排查。

http://www.dtcms.com/wzjs/62819.html

相关文章:

  • 怎么样建设一个网上教学网站微信公众号推广
  • 网页网站建设常见的线下推广渠道有哪些
  • 西安地产网站制作公司百度新闻发布
  • discuz 做论坛与网站免费的网络营销方式
  • 广告图文制作seo排名助手
  • 之梦英语版网站怎么做怎么优化
  • 银川市建设厅网站全球搜钻
  • 网站域名跳转是怎么做的广州广告公司
  • 专做公司网站 大庆360站长工具
  • 做网站资料南京seo代理
  • vue.js网站如果做自适应关键词优化seo外包
  • 模板建站源码新闻最近新闻10条
  • 杭州门户网站建设灰色行业关键词推广
  • 哈尔滨道外区建设局官方网站合肥瑶海区
  • 网站备案管局电话网络服务器价格
  • 微信微网站制作教程网站的友情链接是什么意思
  • 北京有几个区几个县网址seo优化排名
  • 营销一型网站建设公司全国疫情实时资讯
  • 有没有专门做装修的网站资源最全的网盘搜索引擎
  • 手机网站建设 如何获得更好的排名百度电脑网页版
  • 人力资源公司起名大全册子深圳seo优化方案
  • 怎么做农产品垂直网站seo推广软件品牌
  • 企业网站收费标准郑州seo排名公司
  • 网站背景居中怎么做怎么制作公司网页
  • 桂电做网站的毕设容易过嘛百度认证考试
  • 做催乳的想上门到哪个网站深圳专业建站公司
  • 信阳网站设计在线推广企业网站的方法有
  • 东莞网站建设怎么样优化推广网站推荐
  • 做分子生物实验常用网站安卓排名优化
  • 局域网聊天工具有哪些优化关键词排名的工具