public void Log <TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter) { switch (logLevel) { case LogLevel.Information: _quickloggerInstance.Info(_categoryName, $"{_categoryName}[{eventId.Id}] - {formatter(state, exception)}"); break; case LogLevel.Error: _quickloggerInstance.Error(_categoryName, $"{_categoryName}[{eventId.Id}] - {formatter(state, exception)}"); break; case LogLevel.Warning: _quickloggerInstance.Warning(_categoryName, $"{_categoryName}[{eventId.Id}] - {formatter(state, exception)}"); break; case LogLevel.Critical: _quickloggerInstance.Critical(_categoryName, $"{_categoryName}[{eventId.Id}] - {formatter(state, exception)}"); break; case LogLevel.Debug: _quickloggerInstance.Debug(_categoryName, $"{_categoryName}[{eventId.Id}] - {formatter(state, exception)}"); break; case LogLevel.Trace: _quickloggerInstance.Trace(_categoryName, $"{_categoryName}[{eventId.Id}] - {formatter(state, exception)}"); break; } }
public void Log <TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func <TState, Exception, string> formatter) { if (!IsEnabled(logLevel)) { return; } string message = formatter != null?formatter(state, exception) : state.ToString(); if (string.IsNullOrWhiteSpace(message) && exception != null) { message = exception.Message; } switch (logLevel) { case LogLevel.Error: _quickloggerInstance.Error(_categoryName, $"{_categoryName}[{eventId.Id}] - {message}"); break; case LogLevel.Warning: _quickloggerInstance.Warning(_categoryName, $"{_categoryName}[{eventId.Id}] - {message}"); break; case LogLevel.Critical: _quickloggerInstance.Critical(_categoryName, $"{_categoryName}[{eventId.Id}] - {message}"); break; case LogLevel.Debug: _quickloggerInstance.Debug(_categoryName, $"{_categoryName}[{eventId.Id}] - {message}"); break; case LogLevel.Trace: _quickloggerInstance.Trace(_categoryName, $"{_categoryName}[{eventId.Id}] - {message}"); break; default: _quickloggerInstance.Info(_categoryName, $"{_categoryName}[{eventId.Id}] - {message}"); break; } }