tnblog
首页
视频
资源
登录

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

6639人阅读 2020/7/17 16:22 总访问:3663878 评论:0 收藏:0 手机
分类: .net后台框架

.netcore

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


作用域的场景

  • 一个事务包含多条操作时
  • 复杂流程的日志关联时
  • 调用链追踪域请求处理过程对应时

内容示例

项目架构

项目架构

内容示例


Program.cs
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. //必要的包
  6. //从文件中读取配置
  7. IConfigurationBuilder configBuilder = new ConfigurationBuilder();
  8. configBuilder.AddCommandLine(args);
  9. configBuilder.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
  10. var config = configBuilder.Build();
  11. IServiceCollection serviceCollection = new ServiceCollection();
  12. //用工厂模式将配置对象注册到容器管理
  13. serviceCollection.AddSingleton<IConfiguration>(p => config);
  14. serviceCollection.AddLogging(builder =>
  15. {
  16. builder.AddConfiguration(config.GetSection("Logging"));
  17. builder.AddConsole();
  18. builder.AddDebug();
  19. });
  20. IServiceProvider service = serviceCollection.BuildServiceProvider();
  21. //日志作用域
  22. var logger = service.GetService<ILogger<Program>>();
  23. while (Console.ReadKey().Key != ConsoleKey.Escape)
  24. {
  25. using (logger.BeginScope("ScopeId:{ScopeId}", Guid.NewGuid()))
  26. {
  27. logger.LogInformation("这是Info");
  28. logger.LogError("这是Error");
  29. logger.LogTrace("这是Trace");
  30. }
  31. System.Threading.Thread.Sleep(100);
  32. Console.WriteLine("=====================分割线=====================");
  33. }
  34. Console.ReadKey();
  35. }
  36. }
appsetting.json
  1. {
  2. "Logging": {
  3. "LogLevel": {
  4. "Default": "Debug",
  5. "Microsoft": "Warning",
  6. "Microsoft.Hosting.Lifetime": "Information"
  7. },
  8. //下面是针对 Console 的输出提供程序
  9. "Console": {
  10. "IncludeScopes": true,
  11. "LogLevel": {
  12. "Default": "Information",
  13. "LoggingSimpleDemo.Program": "Trace",
  14. "alogger": "Trace"
  15. }
  16. }
  17. }
  18. }

运行结果(中途有经多次修改)


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

评价
这一世以无限游戏为使命!
排名
6
文章
6
粉丝
16
评论
8
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
欢迎加群交流技术