ASP.NET Core Web API从静态类登录
发布时间:2020-12-16 07:36:50 所属栏目:asp.Net 来源:网络整理
导读:我在我的控制器上使用依赖注入正好记录,现在我需要从静态类中记录一些东西. 如何从静态类登录? 我不能使用依赖注入,因为它是静态的,我不能只将现有的logger对象传递给静态类,因为它在日志文件中会有错误的类名. 换句话说,如何从静态类中的loggerfactory中获
我在我的控制器上使用依赖注入正好记录,现在我需要从静态类中记录一些东西.
如何从静态类登录? 我不能使用依赖注入,因为它是静态的,我不能只将现有的logger对象传递给静态类,因为它在日志文件中会有错误的类名. 换句话说,如何从静态类中的loggerfactory中获取记录器? 我遇到了一个类似的问题,他们指出了一篇关于静态类中loggerfactory的文章,但实际上并没有工作,因为我无法从中获取新的记录器,因为它不会接受静态类作为参数: “静态类型不能用作类型参数” 解决方法
解决方案是在启动时初始化的实用程序静态类中对LoggerFactory进行静态引用:
/// <summary> /// Shared logger /// </summary> internal static class ApplicationLogging { internal static ILoggerFactory LoggerFactory { get; set; }// = new LoggerFactory(); internal static ILogger CreateLogger<T>() => LoggerFactory.CreateLogger<T>(); internal static ILogger CreateLogger(string categoryName) => LoggerFactory.CreateLogger(categoryName); } 你初学Startup.cs: public Startup(ILogger<Startup> logger,ILoggerFactory logFactory,IHostingEnvironment hostingEnvironment) { _log = logger; _hostingEnvironment = hostingEnvironment; Util.ApplicationLogging.LoggerFactory = logFactory;//<===HERE } 然后你可以构建一个记录器来使用静态类,如下所示: internal static class CoreJobSweeper { private static ILogger log = Util.ApplicationLogging.CreateLogger("CoreJobSweeper"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – ‘/’应用程序中的服务器错误.此类页面不会提供
- asp.net-mvc-3 – ASP.NET MVC 3,RavenDB和Autofac Issue P
- asp.net-core – 如何编写包含其他标记帮助程序的自定义ASP
- asp.net – 不能从代码隐藏在FormView上加载DropDownList?
- asp.net-web-api – Web API / MVC 6中的安全JSON Web令牌
- 使用离线功能构建ASP.Net Web应用程序
- asp.net-mvc – 在MVC Web API应用程序中跟踪
- asp.net-mvc – 在视图中转义JavaScript字符串文字
- ASP.NET MVC3对模型的更改
- asp.net-mvc – 如何在Web表单和MVC2应用程序之间共享基于.
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC开源实境应用
- asp.net-mvc – MVC传递ID由“”分隔为动作
- asp.net-mvc – 如何测试ASP.NET MVC 3中的Rende
- webapi 利用 ActionFilter 为 ASP.NET Web API 添
- asp.net-mvc – ASP.NET MVC控制器动作设计
- asp.net-mvc-4 – MVC4和页面生命周期?
- asp.net-mvc-3 – 如何拦截MVC应用程序中的所有控
- asp.net – 麻烦最小化304请求
- asp.net-mvc-4 – 访问路径“/ etc/mono/registr
- 用于创建ASP.NET成员资格提供程序用户的脚本
热点阅读