Autofaclog4net中间件示例似乎无法工作。
创始人
2024-09-23 02:00:36
0

为了修复这个问题,需要修改中间件注册信息并确保配置文件正确。以下是修改后的示例代码:

using Autofac;
using Autofac.Extensions.DependencyInjection;
using log4net;
using log4net.Config;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using System.Reflection;

namespace AutofacLog4NetMiddlewareExample
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
            //设置Log4Net配置文件
            XmlConfigurator.Configure(LogManager.GetRepository(Assembly.GetEntryAssembly()), new System.IO.FileInfo("log4net.config"));
        }

        public IConfiguration Configuration { get; }

        //Autofac注册容器
        public void ConfigureContainer(ContainerBuilder builder)
        {
            //将ILog接口注册为Log4NetLogger类型
            builder.RegisterType().As();

            //注册控制器以便进行属性注入
            builder.RegisterType().PropertiesAutowired();

            //注册中间件
            builder.RegisterType().PropertiesAutowired();
        }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            //使用Log4Net作为ILogger的提供程序
            loggerFactory.AddLog4Net();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseHsts();
            }

            //注册中间件
            app.UseMiddleware();

            app.UseHttpsRedirection();
            app.UseMvc();
        }
    }

    //ILog接口实现
    public class Log4NetLogger : ILog
    {
        private readonly ILog _log;

        public Log4NetLogger()
        {
            _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
        }

        public void Info(string message)
        {
            _log.Info(message);
        }
    }

    //中间

相关内容

热门资讯

2026版技巧!wepoker... 2026版技巧!wepoker软件辅助程序,德普之星透视辅助插件,都是是有挂(有挂解惑)1、德普之星...
有了最新消息!hhpoker德... 有了最新消息!hhpoker德州真的假的,德扑之星透视免费,原来存在有挂(有挂神器)1、进入到德扑之...
黑科技教程!德州透视是真的假的... 您好,德扑之星辅助器app这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很...
据公告内容!we poker辅... 据公告内容!we poker辅助器v3.3,德普辅助软件,真是是真的有挂(有挂方式)1、下载好德普辅...
攻略辅助挂!哈糖大菠萝怎么开挂... 攻略辅助挂!哈糖大菠萝怎么开挂,德扑软件,确实确实有挂(有挂规律)1、进入游戏-大厅左侧-新手福利-...
随着!hhpoker辅助挂是真... 随着!hhpoker辅助挂是真的吗,智星菠萝有挂吗,果然真的是有挂(有挂方略)亲,关键说明,智星菠萝...
近期!wepoker私人局有透... 近期!wepoker私人局有透视吗,德普之星透视辅助软件下载,其实真的有挂(有挂规律)一、德普之星透...
近期!hhpoker是真的假的... 近期!hhpoker是真的假的,德扑之心免费透视,好像是有挂(确实有挂)1)德扑之心免费透视有没有挂...
方法辅助挂!hhpoker的辅... 方法辅助挂!hhpoker的辅助是真的吗,德普之星辅助工具如何设置,好像存在有挂(证实有挂)暗藏猫腻...
2026版软件!约局吧能不能开... 2026版软件!约局吧能不能开挂,德普之星辅助工具如何打开,竟然存在有挂(有挂技巧)1、玩家可以在德...