public void Log()

in src/AWS.Logger.AspNetCore/AWSLogger.cs [114:182]


        public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
        {
            if (!IsEnabled(logLevel))
                return;

            string message;
            if (_customFormatter == null)
            {
                if (formatter == null)
                    throw new ArgumentNullException(nameof(formatter));

                var messageText = formatter(state, exception);
                // If neither a message nor an exception are provided, don't log anything (there's nothing to log, after all).
                if (string.IsNullOrEmpty(messageText) && exception == null)
                    return;

                // Format of the logged text, optional components are in {}
                //  {[LogLevel] }{ Scopes: => }{Category: }{EventId: }MessageText {Exception}{\n}
                var messageBuilder = new StringBuilder();
                Action<string> addToBuilder = token =>
                {
                    if (string.IsNullOrEmpty(token))
                        return;

                    if (messageBuilder.Length > 0)
                        messageBuilder.Append(" ");
                    messageBuilder.Append(token);
                };

                if (IncludeLogLevel)
                {
                    addToBuilder($"[{logLevel}]");
                }

                GetScopeInformation(messageBuilder);

                if (IncludeCategory)
                {
                    addToBuilder($"{_categoryName}:");
                }
                if (IncludeEventId)
                {
                    addToBuilder($"[{eventId}]:");
                }

                addToBuilder(messageText);

                if (IncludeException)
                {
                    addToBuilder($"{exception}");
                }
                if (IncludeNewline)
                {
                    messageBuilder.Append(Environment.NewLine);
                }

                message = messageBuilder.ToString();
            }
            else
            {
                message = _customFormatter(logLevel, state, exception);

                // If neither a message nor an exception are provided, don't log anything (there's nothing to log, after all).
                if (string.IsNullOrEmpty(message) && exception == null)
                    return;
            }

            _core.AddMessage(message);
        }