Autofac register an instance for a interface for singleton

 一个console app调用Core

var loggerFactory = LoggerFactory.Create(builder =>
            {
                builder.AddConsole();
                builder.AddSerilog();
            });
            builder.RegisterInstance(loggerFactory)
                .As<ILoggerFactory>()
                .SingleInstance();
        }
 var core = serviceProvider.GetRequiredService<Core>();

            logger?.Information($"程序开始运行");

            core.Test("Hello World!");

 

 

 

封装一个不依赖serilog的日志组件Core

public class Core
    {
        private readonly ILogger _logger;

        public Core(ILoggerFactory loggerFactory)
        {
            _logger = loggerFactory.CreateLogger(nameof(Core));
        }

        public void Test(string content)
        {
            
            _logger.LogInformation($"日志测试: {content}");
        }
    }

 

posted @ 2023-05-16 19:01  ChuckLu  阅读(7)  评论(0编辑  收藏  举报