.netcore 日志记录实现
发布时间:2020-12-16 06:54:42 所属栏目:asp.Net 来源:网络整理
导读:using System.IO; using log4net; using log4net.Config; using log4net.Repository; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extens
using System.IO; using log4net; using log4net.Config; using log4net.Repository; 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 Microsoft.Extensions.Logging; namespace LoggerFactory { public class Startup { //日志记录 public static ILoggerRepository Repository; public Startup(IConfiguration configuration) { Configuration = configuration; //初始化Repository Repository = LogManager.CreateRepository("NETCoreRepository"); XmlConfigurator.Configure(Repository,new FileInfo("log4net.config")); } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddMvc(options => { options.Filters.Add<Models.HttpGlobalExceptionFilter>(); //加入全局异常类 }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app,IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseCookiePolicy(); app.UseMvc(routes => { routes.MapRoute( name: "default",template: "{controller=Home}/{action=Index}/{id?}"); }); } } }
<?xml version="1.0" encoding="utf-8" ?> <configuration> <!-- This section contains the log4net configuration settings --> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" /> </appender> <appender name="FileAppender" type="log4net.Appender.FileAppender"> <param name="Encoding" value="utf-8" /> <file value="log-file.log" /> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="Encoding" value="utf-8" /> <file value="logfile/" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <staticLogFileName value="false" /> <datePattern value="yyyyMMdd‘.log‘" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="1MB" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!-- Setup the root category,add the appenders and set the default level --> <root> <level value="ALL" /> <appender-ref ref="ConsoleAppender" /> <appender-ref ref="FileAppender" /> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net> </configuration> using log4net; using Microsoft.AspNetCore.Mvc.Filters; namespace LoggerFactory.Models { public class HttpGlobalExceptionFilter:IExceptionFilter { private ILog log = LogManager.GetLogger(Startup.Repository.Name,typeof(HttpGlobalExceptionFilter)); public void OnException(ExceptionContext context) { log.Error(context.Exception); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET API接口使用HttpClient进行测试和验证
- asp.net – 如何让Google不会将自定义404错误页面编入索引?
- ASP.NET 服务器部署IIS程序池进程标示配置要和SQL SERVER一
- 通过ASP.NET调用的长时间运行任务的模式
- asp.net-web-api – ASP.NET Core中的IHttpActionResult和帮
- asp.net-mvc-3 – MVC3 / Razor:cshtml.Execute()’:找不
- asp.net – IIS7中的SQL Server和Windows身份验证
- asp.net-mvc-5 – 当EnableOptimizations为true时,CSS包为空
- asp.net-mvc – 通配符在asp.net mvc路由
- asp.net-mvc – 如何从对象HtmlAttributes中获取值
推荐文章
站长推荐
热点阅读