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

无锡企业自助建站系统登陆页面模板

无锡企业自助建站系统,登陆页面模板,游戏网站如何做,怎么做资源类网站文章目录 一. Serilog介绍1.1 安装Serilog1.2 Serilog日志级别 二. Serilog.App项目应用2.1 Serilog一般应用2.2 兼容系统日志 三. Serilog.Web应用3.1 Minimal示例3.2 WebApi示例 参考链接 一. Serilog介绍 Serilog 是 .NET应用程序的诊断日志记录库。它易于设置#xff0c;… 文章目录 一. Serilog介绍1.1 安装Serilog1.2 Serilog日志级别 二. Serilog.App项目应用2.1 Serilog一般应用2.2 兼容系统日志 三. Serilog.Web应用3.1 Minimal示例3.2 WebApi示例 参考链接 一. Serilog介绍 Serilog 是 .NET应用程序的诊断日志记录库。它易于设置具有干净的 API并且可以在所有最新的 .NET 平台上运行。虽然它即使在最简单的应用程序中也很有用但 Serilog 对结构化日志记录的支持在检测复杂、分布式和异步应用程序和系统时大放异彩。 1.1 安装Serilog dotnet add package Serilog dotnet add package Serilog.Extensions.Logging dotnet add package Serilog.Sinks.File dotnet add package Serilog.Sinks.Console dotnet add package Serilog.Sinks.Async1.2 Serilog日志级别 public enum LogEventLevel {Verbose, // 相当于TraceDebug, // 调试模式Information, // 提示信息Warning, // 警告信息Error, // 错误信息Fatal // 验证错误 }二. Serilog.App项目应用 2.1 Serilog一般应用 可使用Serilog.Log.ForContextT()构建类型化ILogger对象。可使用Serilog.Log类的静态ILogger成员直接打印日志内容。 using Demo.Service; using Serilog;// Log.Logger是Serilog的一个静态成员,作为全局的ILogger对象 Log.Logger new LoggerConfiguration().WriteTo.Console(outputTemplate: {Timestamp:yyyy-MM-dd HH:mm:ss} [{Level:u3}] {SourceContext} {Message} {Exception}{NewLine}).MinimumLevel.Verbose().WriteTo.File(Logs/Log.txt).CreateLogger();// Main中打印日志 Log.Information(应用程序已启动);// 其他业务代码... var foo new FooService(); foo.PrintWithNewLogger(); foo.PrintWithStaticLogger();// 关闭日志记录器并刷新缓冲区 Log.CloseAndFlush(); Console.ReadKey();using Serilog;namespace Demo.Service;/// summary /// 示例逻辑服务 /// /summary public class FooService {private readonly ILogger _logger;public FooService () {// 底层调用了CreateLogger创建了新的ILogger对象_logger Log.ForContextFooService();}/// summary/// 构造ILogger/// /summarypublic void PrintWithNewLogger () {_logger.Information(构建的ILoggre对象);_logger.Error(new Exception(发生异常), 构建的ILoggre对象);}/// summary/// 静态的ILogger成员/// /summarypublic void PrintWithStaticLogger () {Serilog.Log.Logger.Error(使用Serilog.Log.Logger打印日志);// 可简化为Serilog.Log.XXX(内部依然使用了Serilog.Log.Logger.XXX)Serilog.Log.Debug(使用Serilog.Log静态方法打印日志);Serilog.Log.Information(使用Serilog.Log静态方法打印日志);Serilog.Log.Warning(使用Serilog.Log静态方法打印日志);Serilog.Log.Error(使用Serilog.Log静态方法打印日志);Serilog.Log.Fatal(使用Serilog.Log静态方法打印日志);Serilog.Log.Verbose(等价于Trace级别的日志);} }2.2 兼容系统日志 using Microsoft.Extensions.Logging; using Serilog;// 配置Serilog日志 var tpl 时间: {Timestamp:yyyy-MM-dd HH:mm:ss}{NewLine}来源: {SourceContext}{NewLine}内容: [{Level:u3}] {Message}{NewLine}{Exception}{NewLine}; Log.Logger new LoggerConfiguration() .MinimumLevel.Information() .WriteTo.Console(outputTemplate: tpl) .WriteTo.File(Logs/Log.txt, rollingInterval: RollingInterval.Day, outputTemplate: tpl) .CreateLogger();// ⚠ 加入到Microsoft.Extensions.Logging 日志工厂 var fac LoggerFactory.Create(config { config.AddSerilog(); });// 在具体的类型化对象中使用Logger var logger fac.CreateLoggerProgram(); logger.LogInformation(这是一条提示信息); logger.LogWarning(这是一条警告信息); logger.LogError(这是一条错误信息); logger.LogCritical(这是一条严重错误);Log.CloseAndFlush(); Console.ReadKey();三. Serilog.Web应用 3.1 Minimal示例 可将Serilog注入到IServiceCollection中即依赖注入。Serilog可打印系统捕获的异常信息而无需显式指定异常输出格式。 using Serilog; using Serilog.Events;var builder WebApplication.CreateBuilder(args);// 配置Serilog日志 var tpl 时间: {Timestamp:yyyy-MM-dd HH:mm:ss}{NewLine}来源: {SourceContext}{NewLine}内容: [{Level:u3}] {Message}{NewLine}{Exception}{NewLine}; Log.Logger new LoggerConfiguration().MinimumLevel.Override(Microsoft, LogEventLevel.Warning) .WriteTo.Console(outputTemplate: tpl).WriteTo.File(Logs/Log.txt, rollingInterval: RollingInterval.Day, outputTemplate: tpl).CreateLogger();//将Serilog注入到应用 builder.Services.AddLogging(opt {opt.ClearProviders();opt.AddSerilog(dispose: true); });var app builder.Build(); app.MapGet(/, () {// 动态对象var logger Log.ForContextProgram();logger.Error(这是一条Serilog.ILogger信息);logger.Fatal(这是一条Serilog.ILogger信息);// 静态方法Log.Information(这是一条Serilog.ILogger信息);Log.Warning(这是一条Serilog.ILogger信息);// 从注入容器读取app.Logger.LogInformation(这是一条系统ILogger信息);app.Logger.LogError(这是一条系统ILogger信息);return Hello world; });app.MapGet(/exp, () {throw new Exception(测试异常日志); });app.Run(); Log.CloseAndFlush(); // 关闭日志记录器并刷新缓冲区3.2 WebApi示例 Extends using Serilog.Events; using Serilog;namespace Awesome;public static class Extends {const string infoPath Logs/info.log;const string warnPath Logs/warn.log;const string errorPath Logs/error.log;const string fatalPath Logs/fatal.log;const string template 时间: {Timestamp:yyyy-MM-dd HH:mm:ss}{NewLine}来源: {SourceContext}{NewLine}内容: [{Level:u3}] {Message}{NewLine}{Exception}{NewLine};// 可以将日志输出到控制台、文件、数据库、ES等public static void AddSerilog (this IServiceCollection c) {Log.Logger new LoggerConfiguration().MinimumLevel.Information().MinimumLevel.Override(Microsoft, LogEventLevel.Warning) // 排除Dotnet自带的日志.Enrich.FromLogContext().WriteTo.Console(outputTemplate: template).WriteTo.Logger(lg lg.Filter.ByIncludingOnly(lev lev.Level LogEventLevel.Information).WriteTo.Async(congfig congfig.File(infoPath,rollingInterval: RollingInterval.Day,fileSizeLimitBytes: 1024 * 1024 * 10, //默认1GBretainedFileCountLimit: 10, //保留最近多少个文件,默认31个rollOnFileSizeLimit: true, //超过文件大小时,自动创建新文件 shared: true,outputTemplate: template))).WriteTo.Logger(lg lg.Filter.ByIncludingOnly(lev lev.Level LogEventLevel.Warning).WriteTo.Async(congfig congfig.File(warnPath,rollingInterval: RollingInterval.Day,fileSizeLimitBytes: 1024 * 1024 * 10,retainedFileCountLimit: 10,rollOnFileSizeLimit: true,shared: true,outputTemplate: template))).WriteTo.Logger(lg lg.Filter.ByIncludingOnly(lev lev.Level LogEventLevel.Error).WriteTo.Async(congfig congfig.File(errorPath,rollingInterval: RollingInterval.Day,fileSizeLimitBytes: 1024 * 1024 * 10,retainedFileCountLimit: 10,rollOnFileSizeLimit: true,shared: true,outputTemplate: template))).WriteTo.Logger(lg lg.Filter.ByIncludingOnly(lev lev.Level LogEventLevel.Fatal).WriteTo.Async(congfig congfig.File(fatalPath,rollingInterval: RollingInterval.Day,fileSizeLimitBytes: 1024 * 1024 * 10,retainedFileCountLimit: 10,rollOnFileSizeLimit: true,shared: true,outputTemplate: template))).CreateLogger();// 注入到容器c.AddLogging(opt {opt.ClearProviders();opt.AddSerilog(dispose: true);});} }Controllers using Microsoft.AspNetCore.Mvc;namespace Awesome.Controllers;[ApiController] [Route([controller]/[action])] public class HomeController : ControllerBase {private readonly ILoggerHomeController _logger;public HomeController (ILoggerHomeController logger) {_logger logger;}[HttpGet]public IActionResult Index () {_logger.LogDebug(这是一条调试消息);_logger.LogInformation(这是一条提示消息);_logger.LogWarning(这是一条警告消息);_logger.LogError(这是一条错误消息);_logger.LogCritical(这是一条严重错误);return Ok(Hello World);} }Program using Awesome; using Serilog;var builder WebApplication.CreateBuilder(args); builder.Services.AddControllers();// 添加Serilog日志 builder.Services.AddSerilog();var app builder.Build(); app.MapControllers(); app.Run();// 关闭日志流 Log.CloseAndFlush();参考链接 https://serilog.net/
http://www.pierceye.com/news/269511/

相关文章:

  • 做资讯类网站需要特殊资质吗宜昌网站排名优化
  • 百度怎么建立自己的网站科技公司网站设计公司
  • 长沙做网站的包吃包住4000网站图片如何做水印
  • wordpress的固定链接怎么设置包头整站优化
  • 瓯海建设网站中国建设劳动协会网站
  • 烟台专业做网站公司有哪些中企动力重庆分公司
  • iis 怎么绑定网站二级目录广东东莞市
  • 运城网站制作公司成crm软件
  • 阿里云网站备案登陆荆州网站开发
  • 06628 网页制作与网站建设深圳建筑人才网为什么电脑打不开
  • 企业网站建设方讯快速建站代理
  • 全面的基础微网站开发wordpress首页插件
  • 陕西省住房和城乡建设厅网站上怎么打印证书中盛客户管理软件
  • html网站标题怎么做的国外免费推广平台有哪些
  • 网站制作com cn域名有什么区别网站制作哪家好
  • 平湖网站设计北京广告公司名录
  • 不良网站进入窗口免费正能量安全的南昌网站制作
  • 商品交换电子商务网站开发网站首页制作公司
  • wordpress全站备份建设网站和推广
  • 广州市官网网站建设哪家好上海营销型网站建设公司
  • 江山网站制作瑞安自适应网站建设
  • 生意网官方网站高端建设网站
  • 公司网站建设南宁腾讯企业邮箱登录入口手机版
  • 简历网站推荐做网站公司是干什么的
  • 网站备案率是什么会展相关app和网站的建设情况
  • 南京网站设计网站建设上海网站域名备案处
  • 做网站市场分析三视觉平面设计网
  • 网站建设中++模板企业网站部署计划
  • 房产部门成立网站wordpress站内搜索次数
  • 网站建设合同管辖地广州敏城建设工程有限公司网站