Logging

2022. 4. 8. 00:00ASPNET/Blazor

반응형

Blazor Server 같은 경우는 기본적으로 ASPNet Core 의 Logging 을 그대로 사용할 수 있다.

그래서 해당 설명은 ASPNet Core Logging 을 참조 하면 된다. 

 

여기서는 Logger 를 Inject 하여 Logging 하는 방법을 위주로 설명한다. 

@page "/logging-counter"
@using Microsoft.Extensions.Logging
@inject ILogger<Counter> logger

<PageTitle>LoggingCounter</PageTitle>

<h1>Counter</h1>

<p role="status">Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        currentCount++;
        logger.LogWarning($"Click me : {currentCount}");
    }
}

실행

 

server console log

 

browser(client) 에 logging 방법

js interop 통해 처리

@page "/logging-console-counter"
@using Microsoft.Extensions.Logging
@inject ILogger<Counter> logger
@inject IJSRuntime JS

<PageTitle>LoggingCounter</PageTitle>

<h1>Counter</h1>

<p role="status">Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private async Task IncrementCount()
    {
        currentCount++;
        string message = $"Click me : {currentCount}";
        logger.LogWarning(message);
        await JS.InvokeVoidAsync("console.log",message);
    }
}

실행

 

SignalR Traffic Logging

appsetting.json 파일로 이동

"Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning",
      "Microsoft.AspNetCore.SignalR" : "Trace" // <-- 이부분 추가
    }

실행 후 click me 클릭

위와 같이 SignalR 관련 내용도 logging 가능

 

관련영상

https://youtu.be/MqsQ2qry46g

 

반응형

'ASPNET > Blazor' 카테고리의 다른 글

Component Lifecycle (구성 요소 수명 주기 )  (0) 2022.04.12
Handle Error  (0) 2022.04.11
Startup  (0) 2022.04.07
Dependency injection (종속성 주입)  (0) 2022.04.06
라우팅 및 탐색 (Routing and Navigation 2/2)  (0) 2022.04.05