Serilog UI 에서 로그 시간을 로컬 시간으로 표시하기

Apr 29, 2024 | 0 comments

개요

.net 으로 구현해서 운영 중인 서비스에서 Serilog 를 사용해 Mssql 데이터베이스에 로그를 저장하고 있습니다.
로그 정보 중에 로그 시간의 경우 UTC 로 저장되고 있기 때문에
브라우저에서 로그 기록을 확인할 때 Local 시간으로 변환해서 보여줄 필요가 있습니다.

구현 방법

확장 메서드에서 로그 시간을 커스터마이징 할 수 있는 파라메터가 추가되면서 간단하게 해결이 가능해졌습니다.
다음과 같이 UTC 와 Local 의 Offset 을 계산해서 변환하는 Func 을 생성한 다음 파라메터로 전달하면 됩니다.

builder.Services.AddSerilogUi(options =>
{
    var offset = TimeZoneInfo.Local.GetUtcOffset(DateTime.UtcNow);
    Func<string, DateTime>? dateTimeCustomParsing = (orgDateStr) =>
        {
            return Convert.ToDateTime(orgDateStr).Add(offset).ToUniversalTime();
        };
    options.UseSqlServer(dbConStr, "Table1", DBSchemaName, dateTimeCustomParsing)
            .UseSqlServer(dbConStr, "Table2", DBSchemaName, dateTimeCustomParsing);
});

스크린샷

Learn more on this topic

Related Blog Posts

Join in the conversation

Leave a Comment

0 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

무료 온라인 전광판

전광판

텍스트를 입력하고 텍스트 효과 및 배경효과 를 변경해서 전체화면으로 표시할 수 있는 전광판 용도로 사용하실 수 있습니다. 각종 스포츠 및 공연 관람시 응원 용도로 사용이 가능합니다.

Carousel

여러개의 슬라이드를 추가하여 프레젠테이션 및 이미지 슬라이드 용도로 사용하실 수 있습니다. 브라우저가 포함된 IT 기기로 큰 모니터에 연결하여 매장 내 공지사항 및 메뉴소개를 이미지로 표시할 수 있습니다.

Pin It on Pinterest

Shares
Share This

Share This

Share this post with your friends!

Shares