Console.SetError (myTextWriter)는 아무것도하지 않습니다.

3 인

처리되지 않은 예외를 처리하는 방법을 찾으려고합니다. 다음 Blazor 클라이언트 측 애플리케이션 수준 예외 처리를 찾았습니다 .

services.AddSingleton<ExceptionNotificationService>();
...
public class ExceptionNotificationService : TextWriter
{
    private TextWriter _decorated;
    public override Encoding Encoding => Encoding.UTF8;

    public event EventHandler<string> OnException;

    public ExceptionNotificationService()
    {
        _decorated = Console.Error;
        Console.SetError(this);
    }

    public override void WriteLine(string value)
    {
        OnException?.Invoke(this, value);

        _decorated.WriteLine(value);
    }
}

이 코드를 확인하면 아무것도 변경되지 않습니다. 브라우저 콘솔에 예외가 기록되고 메서드 WriteLine(string value)가 전혀 실행되지 않습니다. 나는 Console.SetError(this)그것이 실행되었다고 확신합니다 . 왜 아무것도하지 않습니까?

이유를 어떻게 알지 모르기 때문에 다음 기괴한 일을 시도하기 시작했습니다

  1. 로 변경 Console.SetError(this)하십시오 Console.SetOut(this).

그것은 변화합니다. 브라우저 콘솔에서 1000 개의 오류가 발생하고 응용 프로그램이 시작되지 않았습니다.

  1. 변화 _decorated = Console.Error_decorated = Console.Out나는 브라우저 콘솔에서 1000 개 정보를 정기적으로 얻을 수 및 응용 프로그램이 다시 시작되지 않습니다.

유감 입니다. Console.SetErrorWebAssembly에서 깨져서 괜찮다는 것을 제외하고 어떤 결론도 내릴 수 없습니다 Console.SetOut.

헨크 홀터 만

이 코드를 확인하면 아무것도 변경되지 않습니다.

게시 한 버전에서 오류가 전달 _decorated.WriteLine(value);되므로 '변경 없음'이 예상되는 결과입니다.
그러나 해당 줄을 제거해도 여전히 표시되는 것은 이상합니다. 방금 v3.2로 테스트했습니다.

Console.SetError가 깨 졌다는 점만 제외하면

아니, 그렇지 않습니다. 다음과 같이 테스트 할 수 있습니다.

 Console.Error.WriteLine($"Current count {currentCount}");

재정의 된 WriteLine을 통과합니다.

그러나 GitHub에 따르면 오류는 이제 콘솔에 (직접) 기록되는 것이 아니라 Logger에 기록됩니다. 다른 답변이 게시 된 이후로 변경되었습니다. 당신은 아마보고 crit:그 로그 레벨입니다, 당신의 오류 전에.

이제 로깅을 재구성하는 방법을 직접 알지 못합니다. 여기에서 물어볼 또 다른 질문 일 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 console.log가 여기에 아무것도 출력하지 않는 이유는 무엇입니까?

분류에서Dev

Scala HashMap # contains는 아무것도 기대하지 않습니다.

분류에서Dev

Django select_related는 아무것도하지 않습니다.

분류에서Dev

Plotly Library는 아무것도 표시하지 않습니다.

분류에서Dev

미디어 소스는 아무것도하지 않습니다

분류에서Dev

Laravel 관계는 아무것도 반환하지 않습니다.

분류에서Dev

React 함수는 아무것도 반환하지 않습니다.

분류에서Dev

npm start는 Windows에서 아무것도하지 않습니다.

분류에서Dev

memcpy는 아무것도하지 않습니다

분류에서Dev

beautifulsoup4는 아무것도 인쇄하지 않습니다.

분류에서Dev

django makemessages는 아무것도하지 않습니다.

분류에서Dev

Mongoose Populate는 아무것도하지 않습니다.

분류에서Dev

Bash Script는 아무것도하지 않습니다.

분류에서Dev

jQuery ajax 오류는 아무것도하지 않습니다.

분류에서Dev

jQuery ajax 오류는 아무것도하지 않습니다.

분류에서Dev

코드는 아무것도 반환하지 않습니다.

분류에서Dev

PreparedStatement는 아무것도 변경하지 않습니다.

분류에서Dev

gem install rails는 아무것도하지 않습니다

분류에서Dev

nginx는 아무것도 기록하지 않습니다.

분류에서Dev

grep * gcc *는 아무것도 일치하지 않습니다

분류에서Dev

Phalcon Debug는 아무것도하지 않습니다.

분류에서Dev

GetResource는 아무것도 표시하지 않습니다.

분류에서Dev

htmlentities ()는 아무것도 반환하지 않습니다.

분류에서Dev

Laravel 뷰는 아무것도 출력하지 않습니다.

분류에서Dev

pushViewController는 호출 할 때 아무것도하지 않습니다.

분류에서Dev

Django-Compressor는 아무것도하지 않습니다.

분류에서Dev

GLSurfaceView scrollTo는 아무것도하지 않습니다.

분류에서Dev

SDL PollEvent ()는 아무것도 반환하지 않습니다.

분류에서Dev

Parse dom xpath는 아무것도하지 않습니다.

Related 관련 기사

  1. 1

    내 console.log가 여기에 아무것도 출력하지 않는 이유는 무엇입니까?

  2. 2

    Scala HashMap # contains는 아무것도 기대하지 않습니다.

  3. 3

    Django select_related는 아무것도하지 않습니다.

  4. 4

    Plotly Library는 아무것도 표시하지 않습니다.

  5. 5

    미디어 소스는 아무것도하지 않습니다

  6. 6

    Laravel 관계는 아무것도 반환하지 않습니다.

  7. 7

    React 함수는 아무것도 반환하지 않습니다.

  8. 8

    npm start는 Windows에서 아무것도하지 않습니다.

  9. 9

    memcpy는 아무것도하지 않습니다

  10. 10

    beautifulsoup4는 아무것도 인쇄하지 않습니다.

  11. 11

    django makemessages는 아무것도하지 않습니다.

  12. 12

    Mongoose Populate는 아무것도하지 않습니다.

  13. 13

    Bash Script는 아무것도하지 않습니다.

  14. 14

    jQuery ajax 오류는 아무것도하지 않습니다.

  15. 15

    jQuery ajax 오류는 아무것도하지 않습니다.

  16. 16

    코드는 아무것도 반환하지 않습니다.

  17. 17

    PreparedStatement는 아무것도 변경하지 않습니다.

  18. 18

    gem install rails는 아무것도하지 않습니다

  19. 19

    nginx는 아무것도 기록하지 않습니다.

  20. 20

    grep * gcc *는 아무것도 일치하지 않습니다

  21. 21

    Phalcon Debug는 아무것도하지 않습니다.

  22. 22

    GetResource는 아무것도 표시하지 않습니다.

  23. 23

    htmlentities ()는 아무것도 반환하지 않습니다.

  24. 24

    Laravel 뷰는 아무것도 출력하지 않습니다.

  25. 25

    pushViewController는 호출 할 때 아무것도하지 않습니다.

  26. 26

    Django-Compressor는 아무것도하지 않습니다.

  27. 27

    GLSurfaceView scrollTo는 아무것도하지 않습니다.

  28. 28

    SDL PollEvent ()는 아무것도 반환하지 않습니다.

  29. 29

    Parse dom xpath는 아무것도하지 않습니다.

뜨겁다태그

보관