[ parte 9 ] aspネットコア:ログのログ


Are - qu es es el logging?


エル・ロング・サン・ビットにおける共著者の意識とその意味
いいえスエーレDarseの輸入は、ログ、pero cuandoロス問題のcomienzan a salirエヌsisistemaエヌproducciのn、lo primero a lo queは息子ロスログを再発させる.テナーは、Sen Ellerturados y conoについてのinenを構築します.
エル伐採Titos Muchosプロップは、シトス、pero Principalmente nos ayudaを調査します.
ASP .NET Core Ya Cuenta Concept El Cual por Level Est - An Configado Portal Mandarをログに記録します.Pero、パラirnos mの遺言者Lejosデソロは、enを慰めます.
パラEsto Viene Serilog、es Nuna Herramienta que nos ayuda a再発明者La Rueda.
エル・C・ディック・ジゴGitHub .

Seriog?


Serilog es Nuna Herramienta que nos permite hacerは、パラの診断を行います.El muy fは、CalデConfigurar y Tiene Nuna API muy Limpia y se puede usar en distintas versionesデ.ネットの罪の問題.
ディフェンシ・デ・オラス・ライダー・ラ・アール・ラ・メトロス・パタドス・エ・ロスとしての詩は、「コンティチトス」としての息子である.
いいえse haceログデtexto、se haceログデdatos.
パラSacarユゴーデSerilog、DedeemosデUSARメッセージテンプレート、ESTO INPICAは、単独のConcatenar texto(デヘチョ、デdebesデconcatenarストリングal hacerログ)です.

Nota 👀: Este explica lo que acabo de decir ☝🏽.


メッセージテンプレートPdr de Esta Forma :
var input = new { Latitude = 25, Longitude = 134 };
var time = 34;

log.Information("Processed {@SensorInput} in {TimeMS:000} ms.", input, time);
<資料>
09:14:22 [Information] Processed { Latitude: 25, Longitude: 134 } in 034 ms. 
エルオペランド@ エッテ・エヌ・センテのインプット:第二次世界大戦における諸問題SI ESTO Es Omitido , Serilog Mandar und a Lilar el m m todoToString() パラMostrarエルValorデdicho objeto.
エステEJPLoMo Cuentaは、DOS Propiedades、SensorInput Y TiMEMSを詐欺します.エロスse Guardarは、enエルenログイベントyなしソロcomo un texto que vemosエヌ慰安婦.
ラップ・プロピエーデス,カプチュラダス,エヌ・ホルマント・ジェンソン
{ "SensorInput": { "Latitude": 25, "Longitude": 134 }, "TimeMS": 34 }

シンク


フランスにおける利用者の役割ロスシンク息子息子Aelellos Lugaresエヌdonde podemosは、Serilog que Guarddeロスログを飾ります.pueden ser archivos en json,pueden ser registrosエヌunaベースデdatos,eventos en国連アプリケーション洞察👍🏽) muchas cosas y entre
POR ESO ESは、USARメッセージテンプレートPorque tal vez en compaなしのpodemos ver mucha informaciを引きます.
Serilog Tambi - es - es Ne代替案の監査正味の網についてLaアイディアは、asの代替案をapemos al usar asp .ネット
Guardarロスは、アプリケーションの洞察をスーパースーパーティル、ya que ai te ayuda agruparロスログsegを要求します.ヘーゼルのESA informaci i n n es es superstle to al al estar診断について
<研究ノート>第二次世界大戦における世代間の関係について

Puse en rojo miのメッセージ・テンプレート、pero a serilog le indiqu { que agregu } m pros . propiedades al log eventAunque YoのロスヴェーナエヌConsola、エヌロスシンクロスポッドキャストver .

コンフィギュレーションレジュロ


como lo puedes ver,esta es la parte 9 de na serie de publicacionestodo enfocado a aspネットコアyテマque思いやりの、todos deberは、エーモスサーベル.
プリメロ、Empezaremos instalando serilog para asp .NETコアのAPI
dotnet add package Serilog.AspNetCore
Porのデフォルトは、AQUのVendrの黙示録ELシンクのPan Mandarロスは、コンソール、pero SI necesitas CualquierシンクDiferente、DeberさんのBuscar en Github como Configarloを記録します.

Agregando Serilog Aプログラムcs


<研究ノート>ムー・シニシラの主題についてILogger<T> タヤヘムエステドUSADOトドエルTiempo.プログラムエヌソロ.cs hacemos lo siguiente :
// ... código omitido
var builder = WebApplication.CreateBuilder(args);

builder.Host.UseSerilog();

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
    .Enrich.FromLogContext()
    .WriteTo.Console()
    .CreateLogger();

// ... código omitido

try
{
    Log.Information("Iniciando Web API");

    await SeedProducts();

    Log.Information("Corriendo en:");
    Log.Information("https://localhost:7113");
    Log.Information("http://localhost:5144");

    app.Run();

}
catch (Exception ex)
{
    Log.Fatal(ex, "Host terminated unexpectedly");

    return;
}
finally
{
    Log.CloseAndFlush();
}

// ... código omitido
Aquaは、La secciを与えます"Log" 詳細設定.JSONラPodemosボラーラー、ya que no se usarは引きます.
エルメッセージテンプレートAuditLogBehavior ES
_logger.LogInformation("{RequetsName}: {@User} with request {@Request}", typeof(TRequest).Name, _currentUserService.User.Id, request);
<翻訳> La Aplicaci des n , se Ver de la siguiente manera :

y si queremos Guardar Losログen un archivo en el mismisweb webサーバ(que sirve como parettarlos en tiempo real si usamos azure),hacemos lo siguiente en programcs
Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
    .Enrich.FromLogContext()
    .WriteTo.Console()
    .WriteTo.File("log.txt", rollingInterval: RollingInterval.Day)  // <-------
    .CreateLogger();
詐欺Esto、SI CorremosラAplicaciは、nを作ります、se crearは、アーカイブします.コンテニードにおけるスペイン語とスペイン語
2022-04-14 10:42:31.447 -06:00 [INF] Iniciando Web API
2022-04-14 10:42:32.417 -06:00 [INF] Corriendo en:
2022-04-14 10:42:32.420 -06:00 [INF] https://localhost:7113
2022-04-14 10:42:32.422 -06:00 [INF] http://localhost:5144
2022-04-14 10:42:34.539 -06:00 [INF] CreateProductCommand: 759aa503-f916-4962-96ed-be0b416b5632 with request {"Description":"New Product","Price":9952,"$type":"CreateProductCommand"}
2022-04-14 10:42:35.738 -06:00 [INF] CreateProductCommand: 759aa503-f916-4962-96ed-be0b416b5632 with request {"Description":"New Product","Price":9952,"$type":"CreateProductCommand"}
2022-04-14 10:42:36.893 -06:00 [INF] CreateProductCommand: 759aa503-f916-4962-96ed-be0b416b5632 with request {"Description":"New Product","Price":9952,"$type":"CreateProductCommand"}
2022-04-14 10:42:37.547 -06:00 [INF] CreateProductCommand: 759aa503-f916-4962-96ed-be0b416b5632 with request {"Description":"New Product","Price":9952,"$type":"CreateProductCommand"}
2022-04-14 10:42:38.342 -06:00 [INF] CreateProductCommand: 759aa503-f916-4962-96ed-be0b416b5632 with request {"Description":"New Product","Price":9952,"$type":"CreateProductCommand"}
2022-04-14 10:42:38.839 -06:00 [INF] CreateProductCommand: 759aa503-f916-4962-96ed-be0b416b5632 with request {"Description":"New Product","Price":9952,"$type":"CreateProductCommand"}
2022-04-14 10:42:39.234 -06:00 [INF] CreateProductCommand: 759aa503-f916-4962-96ed-be0b416b5632 with request {"Description":"New Product","Price":9952,"$type":"CreateProductCommand"}

WriteTo.File Theen m Gen ' s Opciones de Configaci des n Les Recuerdo , Hey sinks by Tido Tipo de Persistencia
Y TE Preguntarのは、最後の、最後に、パラシュートで降下します.Corta esの診断Cuandoアルゴpasa en tu aplicaciは、n、sabes aproximadamente cuando sucediは、loはニコque puedes hacer es ir a losログyリヒサールque hzo el usuario parque que tronara la aplicaci n . n
エルシンクデArchivos es algoは、ティル、pero es mは、s Si usamosシンクcomoデ弾性検索o oアプリケーション洞察に対します.スペイン語学習者の言語習得に関する一考察

Nota 👀: Puedes visitar Github para ver todos los sinks disponibles.


結論


El Logging y追跡Temas que nos dedede de interesarAunqueソロHemos VistoコモCrearは、A Mandanlos Aをシンクします.
comoシーメム、Cualquier pregunta、no dudesエヌbuscarmeエヌmiツイッターエヌ.
👋🏽

リファレンス

  • serilog/serilog-aspnetcore - Github
  • serilog/serilog - Github
  • Ultimate Guid to Logging