Implementacja Serilog w Windows Forms

Implementacja Serilog w Windows Forms
Michał Warmuz
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:253
0

Cześć próbuje sobie zaimplementować Loggera w windows forms lecz mam problem z tym że Serilog tworzy mi plik ale nie zapisuje w nim logów :/
W klasie Program tak tworzę loggera:

Kopiuj
            container.Register(() => 
            {
                string nameFile = DateTime.Now.ToString("yyyyMMdd");

                var logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .WriteTo.File($"Logs/{nameFile}.txt")
                .CreateLogger();

                return logger;
            });

w metodzię Container Bootstrap() ponieważ do wstrzykiwania zależności wykorzystuje SimpleInjection

UglyMan
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:2206
2

A jak do niego piszesz ?

Michał Warmuz
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:253
0

@UglyMan:

Kopiuj
Log.Information("DDD");

tak robiłem jak pisałem Rest API

UglyMan
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:2206
1

Pokaz więcej kodu.czy ten kod sie wywołuje? Stawiałeś tam breakpoinata i patrzyłeś debugiem?

WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 5 godzin
  • Postów:5140
2

Log.Information("DDD"); a czy to nie jest przypadkiem statyczne, a to container.Register(() => instancyjne?

gdzie ty ustawiasz wszystko w wersji instancyjnej, a używasz statycznej, przez co SeriLog nie wie o twoich Sinkach do których ma pisać.

Jak chcesz statycznie, to:

Kopiuj
string nameFile = DateTime.Now.ToString("yyyyMMdd");
Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .WriteTo.File($"Logs/{nameFile}.txt")
                .CreateLogger();
edytowany 2x, ostatnio: WeiXiao

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.