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}");
        }
    }

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-05-16 How to CTRL+ALT+Delete in Remote Desktop
2022-05-16 byte + byte = int... why?
2022-05-16 炉石传说 酒馆战棋 娜迦随从
2019-05-16 VMware设置NAT网络
2019-05-16 Podman and Buildah for Docker users
2019-05-16 Goodbye Docker and Thanks for all the Fish
2019-05-16 2019-05-16 Ubuntu使用
点击右上角即可分享
微信分享提示