Buenas prácticas Serilog en REST API (minimal API)

9 views
Skip to first unread message

Carlos Admirador

unread,
Oct 10, 2022, 5:55:19 AM10/10/22
to AltNet-Hispano
Cuáles son las buenas prácticas  utilizando Serilog en un REST API (minimal API)?

Puedo inyectar el Logger en las clases BLL ? o necesito pasar el "logger" (ILoggerFactory) como parámetro a las clases BLL?


var builder = WebApplication.CreateBuilder(args);

// remove default logging providers
builder.Logging.ClearProviders();
// Serilog configuration        
var logger = new LoggerConfiguration()
    .WriteTo.Console()
    .CreateLogger();
// Register Serilog
builder.Logging.AddSerilog(logger);

// ...

var app = builder.Build();
        
app.Logger.LogInformation("The application started");

// ...
// How to use logging inside your method
app.MapGet("/", (ILoggerFactory loggerFactory) => {
    var logger = loggerFactory.CreateLogger("index");
    logger.LogInformation("index called");
    var miClaseBLL = new BLLClass(logger);
    var resBLL = miClaseBLL.GetHelloWorld();

    return "Hello world" + resBLL;
});

Si BLLClass llama a otra clase, y ésta a otra, y ésta a otra más... tengo que ir pasando el logger entre clases?




Carlos Admirador

unread,
Oct 11, 2022, 6:06:42 AM10/11/22
to AltNet-Hispano
RollingFile

 var log = new LoggerConfiguration()
          .MinimumLevel.Debug()
          .WriteTo.File(@"f:\log\log.txt", rollingInterval: RollingInterval.Day)
          .CreateLogger();

Ariel Piñeiro

unread,
Oct 11, 2022, 7:29:38 AM10/11/22
to altnet-...@googlegroups.com
Al ser lógica transversal, podrías usar AOP, sin embargo una más sencilla es usar un factory con static methods y lo invocas directamente, te evitas de pasar el parámetro en todos los objetos.





--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a altnet-hispan...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/altnet-hispano/bc6eee9a-caa8-45a9-809a-aecc2ac26734n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages