Skip to content

Instantly share code, notes, and snippets.

View javierguerrero's full-sized avatar
馃彔
Working from home

Javier Guerrero javierguerrero

馃彔
Working from home
View GitHub Profile
@javierguerrero
javierguerrero / exception_handling_csharp_chapter7_6.cs
Created November 23, 2024 15:37
Ejemplo con Logging Estructurado en Serilog
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateLogger();
try
{
throw new Exception("Error inesperado");
}
catch (Exception ex)
{
@javierguerrero
javierguerrero / exception_handling_csharp_chapter7_5.cs
Created November 23, 2024 15:27
exception_handling_csharp_chapter7_5.cs
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.Elasticsearch(new Serilog.Sinks.Elasticsearch.ElasticsearchSinkOptions(new Uri("http://localhost:9200"))
{
IndexFormat = "logs-{0:yyyy.MM.dd}",
AutoRegisterTemplate = true,
})
.CreateLogger();
try
@javierguerrero
javierguerrero / exception_handling_csharp_chapter7_4.cs
Last active November 23, 2024 15:31
Alternativa Local a un Servicio de Logging
public interface ILoggingService
{
void Log(string message);
void LogError(Exception ex);
}
public class CloudLoggingService : ILoggingService
{
public void Log(string message)
{
@javierguerrero
javierguerrero / exception_handling_csharp_chapter7_3.cs
Last active November 23, 2024 15:30
Logging con Notificaciones de Errores Cr铆ticos
public interface ILogger
{
void Log(string message);
void LogError(Exception ex);
}
public class BasicLogger : ILogger
{
public void Log(string message)
{
@javierguerrero
javierguerrero / exception_handling_csharp_chapter7_2.cs
Created November 23, 2024 14:02
exception_handling_csharp_chapter7_2.cs
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Day)
.CreateLogger();
try
{
// C贸digo que puede fallar
}
catch (Exception ex)
@javierguerrero
javierguerrero / exception_handling_csharp_chapter7_1.cs
Created November 23, 2024 13:58
exception_handling_csharp_chapter7_1.cs
try
{
// C贸digo que puede fallar
}
catch (Exception ex)
{
Console.WriteLine($"Mensaje: {ex.Message}");
Console.WriteLine($"Traza de pila: {ex.StackTrace}");
if (ex.InnerException != null)
{
@javierguerrero
javierguerrero / exception_handling_csharp_chapter6_6.cs
Created November 9, 2024 03:16
exception_handling_csharp_chapter6_6.cs
using Serilog;
class Program
{
static void Main()
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.Console()
.WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Day)
@javierguerrero
javierguerrero / exception_handling_csharp_chapter6_5.cs
Created November 9, 2024 03:15
exception_handling_csharp_chapter6_5.cs
try
{
MetodoCritico1();
MetodoCritico2();
MetodoCritico3();
}
catch (Exception ex)
{
Console.WriteLine("Error en el c贸digo cr铆tico: " + ex.Message);
}
@javierguerrero
javierguerrero / exception_handling_csharp_chapter6_4.cs
Created November 9, 2024 03:13
exception_handling_csharp_chapter6_4.cs
public async Task ObtenerDatosAsync()
{
try
{
await RealizarLlamadaAPIAsync();
}
catch (HttpRequestException ex)
{
Console.WriteLine("Error en la solicitud HTTP: " + ex.Message);
}
@javierguerrero
javierguerrero / exception_handling_csharp_chapter6_3.cs
Created November 9, 2024 03:11
exception_handling_csharp_chapter6_3.cs
try
{
// C贸digo que puede lanzar una excepci贸n
}
catch (Exception ex)
{
Log.Error(ex, "Error inesperado en la operaci贸n");
}