NNLog
NNLog
🌍 Idioma: English | Español
Proveedor de logging basado en reglas para DAFce. Se conecta al pipeline ILoggerFactory mediante ILoggerProvider y enruta las entradas de log a uno o más targets (consola, fichero, …) según reglas configurables.
Inicio rápido
uses
DAF.NNLog,
DAF.NNLog.Targets.Console,
DAF.Logging.Builder;
// 1. Definir un target
var ConsoleTarget := TNNLogConsoleTarget.Create;
ConsoleTarget.Name := 'console';
ConsoleTarget.Layout := '${timestamp} [${level}] ${category} | ${message}';
// 2. Definir reglas
var Rule := TLogRule.Create;
Rule.Name := '*'; // coincide con todas las categorías
Rule.MinLevel := TLogLevel.Debug;
Rule.WriteTo := [ConsoleTarget];
// 3. Crear el proveedor y conectarlo a la factory
var Provider := TNNLogProvider.Create([ConsoleTarget], [Rule]);
Factory.AddProvider(Provider);Tokens de layout
| Token | Descripción |
|---|---|
${timestamp} |
Timestamp ISO-8601 |
${pid} |
ID del proceso |
${thread} |
ID del hilo |
${level} |
Nombre del nivel de log |
${category} |
Categoría del logger |
${message} |
Mensaje renderizado |
${exception} |
Clase + mensaje de excepción (vacío si no hay) |
${scope} |
Cadena del scope activo |
Layout por defecto: ${timestamp} #${pid}:${thread} [${level}] ${category} | ${message} ${exception}
Integración con DI / Hosting
uses DAF.Logging.Builder, DAF.NNLog, DAF.NNLog.Targets.Console;
AddLogging(Services,
procedure(Builder: ILoggingBuilder)
var
Target : TNNLogConsoleTarget;
Rule : TLogRule;
begin
Target := TNNLogConsoleTarget.Create;
Target.Name := 'console';
Rule := TLogRule.Create;
Rule.Name := '*';
Rule.MinLevel := TLogLevel.Information;
Rule.WriteTo := [Target];
Builder.AddProvider(TNNLogProvider.Create([Target], [Rule]));
end);Documentación
- 📖 Guía de uso — reglas, targets, layout, múltiples targets, targets personalizados