Ejemplo n.º 1
0
        public async Task LogAsync(LogSeverity severity, string message)
        {
            await _semaphore.WaitAsync();

            try
            {
                var formattedTime = DateTimeOffset.UtcNow.ToString("hh:mm:ss");

                await Console.Out.WriteAsync($"{formattedTime} ");

                await ColoredConsole.WriteAsync($"[{severity}]", GetSeverityColor(severity));

                await Console.Out.WriteLineAsync($" {message}");

                await File.AppendAllTextAsync(LogFileName(severity), $"{formattedTime} [{severity}] {message}\n");
            }
            finally
            {
                _semaphore.Release();
            }
        }