Blazor Server Template - Serilog

2022. 5. 9. 00:00ASPNET/BlazorServerTemplate

반응형

Server Project 생성

https://yogingang.tistory.com/131

 

Blazor Server Create Project

1. VisualStudio 2022 새 프로젝트 만들기 선택 2. Blzor Server App 선택 Next 3. Project name 및 Loacation 설정 Next 4. Framework 및 추가 정보 입력 Create 5. Project 구성 wwwroot 앱의 퍼블릭 정적..

yogingang.tistory.com

 

Serilog 추가

 

개발자 프롬프트에서 프로젝트 폴더로 이동 
(현재 .sln 파일이 있는 폴더라면 .csproj 파일이 있는 폴더로 이동)
아래 명령 실행

dotnet add package Serilog.AspNetCore
dotnet add package Serilog.Expressions
dotnet add package Serilog.Sinks.Seq

 

appsettings.json 에 다음 삭제

"Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  }

appsettings.json  에 다음 추가

"Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information",
        "System": "Warning"
 
      }
    },
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "File",
        "Args": {
          "path": "./logs/BlazorServer.log",
          "rollingInterval": "Day"
        }
      }
    ]
  },

 

Program.cs 에 다음 추가

...
using Serilog;

var configuration = new ConfigurationBuilder()
    .AddJsonFile("appsettings.json", false, true)
    .AddJsonFile($"appsettings.Development.json", optional: true)
    .Build();

Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(configuration)
    .CreateBootstrapLogger();
    
...

builder.Host.UseSerilog((context, configuration) => configuration
                                    .ReadFrom
                                    .Configuration(context.Configuration));

 

Pages/Counter.razor 에 다음 추가

...
@inject ILogger<Counter> logger
...
private void IncrementCount()
{
    currentCount++;
    logger.LogInformation($"currentCount = {currentCount}"); // logger 추가
}

 

logs 폴더 밑에 BlzsorServer{yyyyMMdd}.log 파일이 생성된다.

 

 

 

관련 영상

https://youtu.be/gtkGWd4aWNQ

 

 

반응형