2016-06-19 11 views
0

Ich versuche, meine erste Demo zu schreiben EF7 verwenden.Ausführlich in Loglevel existiert nicht

Ich habe Microsoft.Extensions.Logging.Console 1.0.0-rc2-final installiert

einloggen um.

Aber wenn ich versuche, den follwoing Code zu verwenden:

public static void LogToConsole(this DbContext context) 
     { 
      var contextServices = ((IInfrastructure<IServiceProvider>) context).Instance; 
      var loggerFactory = contextServices.GetRequiredService<ILoggerFactory>(); 
      loggerFactory.AddConsole(LogLevel.Verbose); 
     } 

Ich konnte nicht die Verbose Enum finden!


Stattdessen erhalte ich die folgende:

enter image description here

Könnte mir jemand helfen, zu erklären, was passiert ist und was sollte ich log verwenden, um?

+0

Was möchten Sie "loggen"? – dotctor

Antwort

1

Zurück im Dezember, die ursprünglichen Protokollebenen , um mit anderen Protokollierungssystemen konsistenter zu sein. Als Teil dieser Änderung wurde Verbose in Trace umbenannt und im Schweregrad unterDebug verschoben.

Für welches Protokolllevel Sie verwenden sollten, hängt es sehr davon ab, was Sie protokollieren möchten und was Sie erwarten. Siehe die Empfehlungen in der documentation;

  1. Log mit dem richtigen LogLevel: die ersten drei Aufzählungspunkte zu zitieren. Auf diese Weise können Sie die Protokollausgabe entsprechend der Wichtigkeit der Nachrichten konsumieren und weiterleiten.
  2. Protokollinformationen, die Fehler ermöglichen wird, schnell identifiziert werden. Vermeiden Sie das Protokollieren irrelevanter oder redundanter Informationen.
  3. Halten Log-Meldungen prägnant, ohne wichtige Informationen zu opfern.

die richtige Protokollebene wählen, sollten Sie zuerst machen Sie sich mit dem, was sie bedeuten. Vom niedrigsten Schweregrad zum höchsten sortiert:

  • Trace - Für die detailliertesten Nachrichten, die möglicherweise vertrauliche Informationen enthalten. Sollte niemals in der Produktion aktiviert sein.
  • Debug - Für eventuell interaktive Untersuchung während der Entwicklung; nützlich für das Debugging, aber kein echter Langzeitwert.
  • Information - Für den Ablauf der Anwendung zu verfolgen.
  • Warnung - Für ungewöhnliche (aber erwartete) Ereignisse in der Anwendung, einschließlich Fehlern und Ausnahmen, die ordnungsgemäß behandelt werden und keinen Einfluss auf die Ausführung der Anwendung haben (aber immer noch ein Zeichen für potenzielle Probleme sein könnten).
  • Fehler - Bei echten Fehlern, die dazu führen, dass die aktuelle Aktivität fehlschlägt und die Anwendung daher in einem wiederherstellbaren Zustand verbleibt, sodass andere Aktivitäten nicht beeinträchtigt werden.
  • Kritisch - Bei Fehlern auf Anwendungsebene, die die Anwendung in einem nicht behebbaren Zustand belassen und die weitere Ausführung beeinträchtigen.
  • Sie finden ähnliche Erklärungen in der und im Projekt logging guidelines.

    2

    Verwenden Sie LogLevel.Debug. Die Level wurden in RC2 umbenannt und gemischt. Weitere Informationen finden Sie unter the announcement.