# Serilog https://serilog.net/ # 安裝套件 ```bash= dotnet add package Serilog --version 3.1.1 dotnet add package Serilog.Sinks.Console --version 5.0.1 dotnet add package Serilog.AspNetCore --version 8.0.0 dotnet add package Serilog.Settings.Configuration dotnet add package Serilog.Sinks.Elasticsearch --version 9.0.3 ``` # appsetting.json ```json= { "Serilog": { "MinimumLevel": { "Default": "Debug", "Override": { "Microsoft": "Information", "System": "Information" } }, "Using": ["Serilog.Sinks.Console", "Serilog.Sinks.Elasticsearch"], "WriteTo": [ { "Name": "Console", "Args": { "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console", "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} <s:{SourceContext}>{NewLine}{Exception}" } }, { "Name": "Elasticsearch", "Args": { "nodeUris": "http://localhost:9200", "indexFormat": "slog-{0:yyyy.MM}" } } ] }, "AllowedHosts": "*" } ``` # Program.cs ```csharp= using Serilog; var builder = WebApplication.CreateBuilder(args); builder.Host.UseSerilog(); // Add services to the container. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddControllers(); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseSerilogRequestLogging(); app.MapControllers(); app.Run(); ``` # Controller ```csharp= using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; namespace w2.Controllers { [ApiController] [Route("api/[controller]")] public class HomeController : ControllerBase { private readonly ILogger<HomeController> log; public HomeController(ILogger<HomeController> log) { this.log = log; } [HttpGet] public string Hello() { this.log.LogInformation("hello"); return "hello"; } } } ```
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.