Pattern para usar Serilog (pasar ILogger versus usar Serilog.Log estático)
Fond
En un nuevo proyecto donde Serilog fue elegido como el registrador que automáticamente comencé a pasarILogger
interfaz. El código accede aLog.Logger
una vez y desde entonces las clases que desean iniciar sesión aceptanILogger
mediante inyección de constructor.
e desafiaron en esta práctica y el consejo fue utilizar los métodos estáticos en laLog
clase, p. @Serilog.Log.Debug(...)
. El argumento es que hay unaset;
enLog.Logger
así que burlarse es fácil.
irando la API, puedo ver que uno de los beneficios de pasarILogger
son losForContext
métodos.
Pasé un tiempo en las webs y en el Serilog, pero no pude encontrar información sobre una forma canónica de acceder al registro a través del código de la aplicación.
Pregunt
Existe una forma canónica, es decir, mejor en la mayoría de los casos, de acceder / pasar por la Serilog logger y si lo hay, ¿está pasandoILogger
o usando la API estática en laSerilog.Log
¿clase