private ILogger GetLoggerCore(Type sourceType, string categoryName, LogEventLevel?level, Func <string, LogEventLevel, bool> filter,
                                      LogEventSendMode mode = LogEventSendMode.Customize, RendingConfiguration renderingOptions = null)
        {
            var loggerStateNamespace = sourceType == null ? categoryName : TypeNameHelper.GetTypeDisplayName(sourceType);
            var minLevel             = level ?? _loggingConfiguration.GetMinimumLevel(loggerStateNamespace);

            return(new CosmosLoggerProxy(sourceType ?? typeof(object), minLevel, loggerStateNamespace, filter, mode,
                                         _loggingConfiguration.Rendering.ToCalc(renderingOptions), new LogPayloadSender(_logPayloadClientProviders)));
        }