public MemoryLogger()

in src/Google.Cloud.Functions.Testing/MemoryLogger.cs [45:76]


        public MemoryLogger(string categoryName, IExternalScopeProvider? scopeProvider) =>
            (_categoryName, _scopeProvider) = (categoryName, scopeProvider ?? new LoggerExternalScopeProvider());

        /// <summary>
        /// Clears the log entries in this logger.
        /// </summary>
        public void Clear() => _logEntries.Clear();

        /// <summary>
        /// Creates a list of the log entries in this logger. The returned list is an independent clone
        /// of the current set of log entries. This call does not affect the state of the logger.
        /// </summary>
        /// <returns>A list of log entries in the logger.</returns>
        public List<TestLogEntry> ListLogEntries() => _logEntries.ToList();

        /// <inheritdoc />
        public IDisposable BeginScope<TState>(TState state) where TState : notnull => _scopeProvider.Push(state);

        /// <summary>
        /// Returns true for any log level other than None; filtering is expected
        /// to be provided by other infrastructure.
        /// </summary>
        public bool IsEnabled(LogLevel logLevel) => logLevel != LogLevel.None;

        /// <summary>
        /// Formats the log entry as a <see cref="TestLogEntry"/> and retains it in memory.
        /// </summary>
        public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter)
        {
            var entry = TestLogEntry.Create(_categoryName, logLevel, eventId, state, exception, formatter, _scopeProvider);
            _logEntries.Enqueue(entry);
        }