zoukankan      html  css  js  c++  java
  • netcore3.0 Logging 日志系统(三)

    上篇介绍了netcore里面的几个日志提供器

    我们看下如何简单的使用:

    var services = new ServiceCollection();
                services.AddLogging(builder => { builder.AddConsole(); });
                var provider = services.BuildServiceProvider();
    
                var logger = provider.GetService<ILogger<Program>>();
                logger.LogInformation("test");
                Console.Read();

    我们也可以自己扩展:

    public class MyLogger : ILogger
        {
            public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
            {
                Console.WriteLine(formatter(state, exception));
            }
    
            public bool IsEnabled(LogLevel logLevel)
            {
                return true;
            }
    
            public IDisposable BeginScope<TState>(TState state)
            {
                return null;
            }
        }
    
        public class MyLoggerProvider : ILoggerProvider
        {
            public void Dispose()
            {
                
            }
    
            public ILogger CreateLogger(string categoryName)
            {
                return new MyLogger();
            }
        }
    
        public static class MyLoggerExtension
        {
            public static ILoggingBuilder AddMyLogger(this ILoggingBuilder builder)
            {
                builder.AddConfiguration();
                builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<ILoggerProvider, MyLoggerProvider>());
                return builder;
            }
        }
    class Program
        {
            static void Main(string[] args)
            {
                var services = new ServiceCollection();
                services.AddLogging(builder => { builder.AddMyLogger(); });
                var provider = services.BuildServiceProvider();
    
                var logger = provider.GetService<ILogger<Program>>();
                logger.LogInformation("test");
                Console.Read();
            }
        }
  • 相关阅读:
    googleMap JsAPI
    格式化Json代码
    baidu map JSAPI
    ajaxFileUpload与KindEditor
    Intent 意图
    初识Android
    Android环境搭建
    Android入门知识梳理
    网页版计算器
    使用socket实现简单的聊天功能
  • 原文地址:https://www.cnblogs.com/lanpingwang/p/12541180.html
Copyright © 2011-2022 走看看