public static ILoggerFactory AddMemLog(this ILoggerFactory factory, IMemLogService memLogService, LogLevel minLevel) { return(AddMemLog( factory, memLogService, (_, logLevel) => logLevel >= minLevel)); }
public static ILoggerFactory AddMemLog(this ILoggerFactory factory, IMemLogService memLogService, Func <string, LogLevel, bool> filter = null) { factory.AddProvider(new MemLogProvider(filter, true, memLogService)); return(factory); }
public MemLog(string name, Func <string, LogLevel, bool> filter, bool includeScopes, IMemLogService memLogService) { if (name == null) { throw new ArgumentNullException(nameof(name)); } Name = name; Filter = filter ?? ((category, logLevel) => true); IncludeScopes = includeScopes; _memLogService = memLogService; }
public MemLogProvider(Func <string, LogLevel, bool> filter, bool includeScopes, IMemLogService service) { _service = service; _filter = filter; _includeScopes = includeScopes; }
public MemLogMiddleware(RequestDelegate next, IMemLogService service) { _next = next; _service = service; }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IMemLogService memLogService) { loggerFactory.AddConsole(); //Add MemLog //loggerFactory.AddMemLog(memLogService, LogLevel.Trace); //Add MemLog - filter namespace Microsoft to LogLevel.Warnings or worse loggerFactory.AddMemLog(memLogService, (name, logLevel) => (name.StartsWith("Microsoft") ? logLevel >= LogLevel.Warning : logLevel >= LogLevel.Trace)); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); //Add MemLogMiddleware to enable /memlog page app.UseMemLog(); } app.UseMvcWithDefaultRoute(); //app.Run(async (context) => //{ // await context.Response.WriteAsync("Hello World!"); //}); }