Serilog 폐기 / 닫기 로그 파일 스트림

VRoxa

최근 Serilog에 모든 .NET Framework의 현재 날짜를 기반으로 템플릿 경로를 지적하는 데 집중했습니다 LogEvent. 이를 구현하는 방법을 파악 후, 나는 마지막으로 날짜 필드를 사용하여 비행의 경로를 해결 LogEvent사용하여 Serilog.Sinks.Map같은 다음과 같이 :

return new LoggerConfiguration().WriteTo
    .Map(
        // Log key
        (LogEvent le) => le.Timestamp.Date,
        // Log Action
        (DateTime date, LoggerSinkConfiguration lc) =>
        {
            string path = GetFilesPath(date, logName);
            lc.File(path);
        }
    );
public string GetFilePath(DateTime date, string logName) =>
            Path.Combine("./Logs", $"{date:yyyy-MM-dd}", $"{logName}.log");

이를 통해 날짜를 기반으로 하위 폴더에 로그를 작성하는 목표를 달성했습니다.

문제는 Serilog포인팅 경로가 변경되었음을 모르기 때문에 예상대로 파일 스트림을 닫거나 처리하지 않는다는 것입니다. 따라서 내 응용 프로그램은 파일을 매일 열어두고 무한대로 유지합니다.

누군가이 접근 방식에 직면했거나, 수동으로 스트림을 닫거나, SerilogAPI가 어떻게 든 자동으로 해당 스트림을 닫는 다면 좋을 것 입니다.

Btw, 나는 사용하고있다

  • 세리 로그 2.9.0
  • Serilog.Sinks.File 4.1.0
  • Serilog.Sinks.Map 1.0.1

나중에 이것을 읽는 사람들을 위해 05/06/2020편집하십시오 . 타임 스탬프로
모든 단일 로그 이벤트에 키를 지정 하는 것은 좋지 않습니다. 이렇게함으로써 실제로 로그 이벤트 당 항목을 추가합니다 (간단 함을 위해 동시에 생성되는 이벤트가 없다고 가정). 이론상지도에 이벤트를 유지하지 않는 to를 지정하더라도 해당 이벤트가 파일에 쓰도록 구성되어 있으면 (특히 싱크 와 함께 ) 해당 싱크가 메모리에서 삭제되거나 삭제되지 않습니다.
sinkMapCountLimit0RollingFile

따라서 위의 코드 덩어리는 메모리 누출 (그리고 매우 빠름)입니다. 문서는 사실, 이것에 대해 경고합니다.
Map.Sink

...하지만 가능한 키 값 세트가 개방형 인 경우에는 적합하지 않습니다.

니콜라스 블룸하르트

Serilog.Sinks.Map은이sinkMapCountLimit 를 제어 하는 매개 변수 허용합니다 .

return new LoggerConfiguration().WriteTo
    .Map(
        // Log key
        (LogEvent le) => le.Timestamp.Date,
        // Log Action
        (DateTime date, LoggerSinkConfiguration lc) =>
        {
            string path = GetFilesPath(date, logName);
            lc.File(path);
        },
        sinkMapCountLimit: 5
    );

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

프로그램을 종료하여 스트림 닫기-일반적인 관행?

분류에서Dev

알 수없는 수의 로그 파일에 Serilog 쓰기

분류에서Dev

프로세스가 종료되면 열린 파일 폐기

분류에서Dev

bash로 파일 닫기

분류에서Dev

단일 버튼으로 그림 열기 및 닫기 (JavaScript)

분류에서Dev

"TiffBitmapDecoder"의 스트림을 폐기 / 닫는 방법

분류에서Dev

ffmpeg로 파일에 오디오 스트림 추가, 기존 스트림 유지

분류에서Dev

동일한 파일 오류에서 여러 번 스트림 닫기 및 열기

분류에서Dev

스트림 작성기로 파일에 라인 쓰기

분류에서Dev

파일 스트림 가로 채기 ... 불가능?

분류에서Dev

XHR을 통해 파일 업로드 및 파일에 스트림 쓰기

분류에서Dev

Spark : / XXX / stderr java.io.IOException 파일에 스트림 쓰기 오류 : 스트림이 닫힘

분류에서Dev

수중 음파 탐지기 스캔이 스트림을 닫았지만 닫을 스트림이 없습니다.

분류에서Dev

각각의 새 프로세스에 대한 로그 파일을 자르도록 (즉, 비우기) Serilog를 구성 할 수 있습니까?

분류에서Dev

파일에 개체 스트림 쓰기

분류에서Dev

파일 읽기 스트림의 Nodejs 부정사 스트림

분류에서Dev

Windows에서 파일을 사용하여 프로세스 닫기

분류에서Dev

파일을 업로드하기 위해 스트림을 보낼 때 wcf 스트림 길이 = 0

분류에서Dev

MailMessage로 첨부 파일 사용 및 폐기

분류에서Dev

Java8 파일 스트림, 파일 닫기를 제어하는 방법은 무엇입니까?

분류에서Dev

파일 powershell 닫기

분류에서Dev

닫기 전에 Python 쓰기 파일 프로세스가 충돌했습니다.

분류에서Dev

객체 속성을 기반으로 자바 8 스트림 파일러

분류에서Dev

C ++ : 파일 입력 스트림 및 다음 줄로 건너 뛰기?

분류에서Dev

마지막으로 읽은 문서에서 파일 읽기-JSON 스트림

분류에서Dev

로그를 캡처하여 텍스트 파일로 만들기

분류에서Dev

NUnit으로 테스트 할 때 로그 파일 쓰기

분류에서Dev

엑세스-엑셀 파일을 열고, 그것으로 코딩을하고 닫기

분류에서Dev

Gulp로 스트림과 파일 순서를 유지하면서 여러 스트림에서 단일 파일 만들기

Related 관련 기사

  1. 1

    프로그램을 종료하여 스트림 닫기-일반적인 관행?

  2. 2

    알 수없는 수의 로그 파일에 Serilog 쓰기

  3. 3

    프로세스가 종료되면 열린 파일 폐기

  4. 4

    bash로 파일 닫기

  5. 5

    단일 버튼으로 그림 열기 및 닫기 (JavaScript)

  6. 6

    "TiffBitmapDecoder"의 스트림을 폐기 / 닫는 방법

  7. 7

    ffmpeg로 파일에 오디오 스트림 추가, 기존 스트림 유지

  8. 8

    동일한 파일 오류에서 여러 번 스트림 닫기 및 열기

  9. 9

    스트림 작성기로 파일에 라인 쓰기

  10. 10

    파일 스트림 가로 채기 ... 불가능?

  11. 11

    XHR을 통해 파일 업로드 및 파일에 스트림 쓰기

  12. 12

    Spark : / XXX / stderr java.io.IOException 파일에 스트림 쓰기 오류 : 스트림이 닫힘

  13. 13

    수중 음파 탐지기 스캔이 스트림을 닫았지만 닫을 스트림이 없습니다.

  14. 14

    각각의 새 프로세스에 대한 로그 파일을 자르도록 (즉, 비우기) Serilog를 구성 할 수 있습니까?

  15. 15

    파일에 개체 스트림 쓰기

  16. 16

    파일 읽기 스트림의 Nodejs 부정사 스트림

  17. 17

    Windows에서 파일을 사용하여 프로세스 닫기

  18. 18

    파일을 업로드하기 위해 스트림을 보낼 때 wcf 스트림 길이 = 0

  19. 19

    MailMessage로 첨부 파일 사용 및 폐기

  20. 20

    Java8 파일 스트림, 파일 닫기를 제어하는 방법은 무엇입니까?

  21. 21

    파일 powershell 닫기

  22. 22

    닫기 전에 Python 쓰기 파일 프로세스가 충돌했습니다.

  23. 23

    객체 속성을 기반으로 자바 8 스트림 파일러

  24. 24

    C ++ : 파일 입력 스트림 및 다음 줄로 건너 뛰기?

  25. 25

    마지막으로 읽은 문서에서 파일 읽기-JSON 스트림

  26. 26

    로그를 캡처하여 텍스트 파일로 만들기

  27. 27

    NUnit으로 테스트 할 때 로그 파일 쓰기

  28. 28

    엑세스-엑셀 파일을 열고, 그것으로 코딩을하고 닫기

  29. 29

    Gulp로 스트림과 파일 순서를 유지하면서 여러 스트림에서 단일 파일 만들기

뜨겁다태그

보관