public static ILoggerFactory AddWebJob(this ILoggerFactory factory, ICustomErrorLogger customErrorLogger, Func <string, LogLevel, bool> filter = null) { factory.AddProvider(new ErrorLoggerProvider(filter, customErrorLogger)); return(factory); }
public static ILoggerFactory AddWebJob(this ILoggerFactory factory, ICustomErrorLogger customErrorLogger, LogLevel minLevel) { return(AddWebJob( factory, customErrorLogger, (_, logLevel) => logLevel >= minLevel)); }
public static void Main(string[] args) { var services = new ServiceCollection(); services.AddScoped <ICustomErrorLogger, CustomErrorLogger>(); services.AddScoped <TestClass, TestClass>(); services.AddLogging(); _provider = services.BuildServiceProvider(); Configuration = GetConfiguration(); ILoggerFactory loggerFactory = _provider.GetRequiredService <ILoggerFactory>(); ICustomErrorLogger customErrorLogger = _provider.GetRequiredService <ICustomErrorLogger>(); loggerFactory.AddWebJob(customErrorLogger, Microsoft.Extensions.Logging.LogLevel.Error); TestClass tc = _provider.GetRequiredService <TestClass>(); tc.LogEvent("Helllo there").Wait(); Console.ReadLine(); }
public ErrorLoggerProvider(Func <string, LogLevel, bool> filter, ICustomErrorLogger customErrorLogger) { _customErrorLogger = customErrorLogger; _filter = filter; }
public WebJobLogger(string categoryName, Func <string, LogLevel, bool> filter, ICustomErrorLogger customErrorLogger) { _categoryName = categoryName; _filter = filter; _customErrorLogger = customErrorLogger; }