Freigeben über


DatabaseLogFormatter Klasse

Definition

Dies ist der Standardprotokollformatierer, der verwendet wird, wenn einige Action<T> auf die Log -Eigenschaft festgelegt sind. Ein anderer Formatierer kann verwendet werden, indem eine Klasse erstellt wird, die von dieser Klasse erbt und einige oder alle Methoden außer Kraft setzt, um das Verhalten zu ändern.

public class DatabaseLogFormatter : System.Data.Entity.Infrastructure.Interception.IDbCommandInterceptor, System.Data.Entity.Infrastructure.Interception.IDbConnectionInterceptor, System.Data.Entity.Infrastructure.Interception.IDbTransactionInterceptor
type DatabaseLogFormatter = class
    interface IDbCommandInterceptor
    interface IDbConnectionInterceptor
    interface IDbTransactionInterceptor
    interface IDbInterceptor
Public Class DatabaseLogFormatter
Implements IDbCommandInterceptor, IDbConnectionInterceptor, IDbTransactionInterceptor
Vererbung
DatabaseLogFormatter
Implementiert

Hinweise

Um den neuen Formatierer festzulegen, erstellen Sie eine codebasierte Konfiguration für EF mit DbConfiguration , und legen Sie dann die Formatiererklasse für die Verwendung mit SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)fest. Beachten Sie, dass das Festlegen des Formatierers, der mit dieser Methode verwendet werden soll, die Art und Weise ändert, wie der Befehl bei Log Verwendung protokolliert wird. Es ist immer noch erforderlich, ein Action<T> auf Log festzulegen, bevor Befehle protokolliert werden. Weitere Informationen zur Steuerung der Protokollierung/Abfangen auf niedriger Ebene finden Sie unter IDbCommandInterceptor und DbInterception. Interceptors können auch in der Konfigurationsdatei der Anwendung registriert werden. Weitere Informationen zur Entity Framework-Konfiguration finden Sie unter http://go.microsoft.com/fwlink/?LinkId=260883 .

Konstruktoren

DatabaseLogFormatter(Action<String>)

Erstellt einen Formatierer, der nach keinem DbContext filtert, und protokolliert stattdessen jeden Befehl aus einem beliebigen Kontext und auch Befehle, die nicht aus einem Kontext stammen.

DatabaseLogFormatter(DbContext, Action<String>)

Erstellt einen Formatierer, der nur Befehle protokolliert, die von der angegebenen DbContext instance stammen.

Eigenschaften

Context

Der Kontext, für den Befehle protokolliert werden, oder NULL, wenn Befehle aus allen Kontexten protokolliert werden.

Stopwatch
Veraltet.

Diese Eigenschaft ist veraltet. Die Verwendung kann dazu führen, dass falsche Ausführungszeiten protokolliert werden. Rufen Sie stattdessen GetStopwatch(DbCommandInterceptionContext) auf.

Methoden

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

Aufgerufen nach BeginTransaction(IsolationLevel) wird aufgerufen. Die Standardimplementierung dieser Methode filtert nach DbContext in Context, falls vorhanden, und protokolliert dann das Ereignis.

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

Closed(DbConnection, DbConnectionInterceptionContext)

Aufgerufen nach Close() wird aufgerufen. Die Standardimplementierung dieser Methode filtert nach DbContext in Context, falls vorhanden, und protokolliert dann das Ereignis.

Closing(DbConnection, DbConnectionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

Committed(DbTransaction, DbTransactionInterceptionContext)

Diese Methode wird aufgerufen, nachdem Commit() aufgerufen wurde. Die Standardimplementierung dieser Methode filtert nach DbContext in Context, falls vorhanden, und protokolliert dann das Ereignis.

Committing(DbTransaction, DbTransactionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

Disposed(DbConnection, DbConnectionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

Disposed(DbTransaction, DbTransactionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

Disposing(DbConnection, DbConnectionInterceptionContext)

Vor Dispose() aufgerufen wird. Die Standardimplementierung dieser Methode filtert nach DbContext in Context, falls vorhanden, und protokolliert dann das Ereignis.

Disposing(DbTransaction, DbTransactionInterceptionContext)

Diese Methode wird aufgerufen, bevor Dispose() sie aufgerufen wird. Die Standardimplementierung dieser Methode filtert nach DbContext in Context, falls vorhanden, und protokolliert dann das Ereignis.

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

Equals(Object)

Dies ist der Standardprotokollformatierer, der verwendet wird, wenn einige Action<T> auf die Log -Eigenschaft festgelegt sind. Ein anderer Formatierer kann verwendet werden, indem eine Klasse erstellt wird, die von dieser Klasse erbt und einige oder alle Methoden außer Kraft setzt, um das Verhalten zu ändern.

Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

Wird immer dann aufgerufen, wenn die Ausführung eines Befehls abgeschlossen ist. Die Standardimplementierung dieser Methode filtert nach DbContext , Contextfalls vorhanden, und ruft dann auf LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Diese Methode wird in der Regel nur überschrieben, um das Verhalten der Kontextfilterung zu ändern.

Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

Wird immer dann aufgerufen, wenn ein Befehl ausgeführt werden soll. Die Standardimplementierung dieser Methode filtert nach DbContext , Contextfalls vorhanden, und ruft dann auf LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Diese Methode wird in der Regel nur überschrieben, um das Verhalten der Kontextfilterung zu ändern.

GetHashCode()

Dies ist der Standardprotokollformatierer, der verwendet wird, wenn einige Action<T> auf die Log -Eigenschaft festgelegt sind. Ein anderer Formatierer kann verwendet werden, indem eine Klasse erstellt wird, die von dieser Klasse erbt und einige oder alle Methoden außer Kraft setzt, um das Verhalten zu ändern.

GetStopwatch(DbCommandInterceptionContext)

Die Stoppuhr, die zum Timen von Ausführungen verwendet wird. Diese Stoppuhr wird am Ende der NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)Methoden , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)und ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) gestartet und am Anfang der NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)Methoden , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)und ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) beendet. Wenn diese Methoden überschrieben werden und die Stoppuhr verwendet wird, sollten die Außerkraftsetzungen entweder die Basismethode aufrufen oder die Stoppuhr selbst starten/beenden.

GetType()

Dies ist der Standardprotokollformatierer, der verwendet wird, wenn einige Action<T> auf die Log -Eigenschaft festgelegt sind. Ein anderer Formatierer kann verwendet werden, indem eine Klasse erstellt wird, die von dieser Klasse erbt und einige oder alle Methoden außer Kraft setzt, um das Verhalten zu ändern.

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

Wird aufgerufen, um einen Befehl zu protokollieren, der gerade ausgeführt werden soll. Überschreiben Sie diese Methode, um zu ändern, wie der Befehl in protokolliert System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionwird.

LogParameter<TResult>(DbCommand, DbCommandInterceptionContext<TResult>, DbParameter)

Wird von LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) aufgerufen, um jeden Parameter zu protokollieren. Diese Methode kann von einer überschriebenen Implementierung von LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) aufgerufen werden, um Parameter zu protokollieren, und/oder kann überschrieben werden, um die Art und Weise zu ändern, in der Parameter protokolliert System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionwerden.

LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>)

Wird aufgerufen, um das Ergebnis der Ausführung eines Befehls zu protokollieren. Überschreiben Sie diese Methode, um zu ändern, wie Ergebnisse in protokolliert System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionwerden.

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

Diese Methode wird aufgerufen, ExecuteNonQuery() nachdem ein Aufruf oder eine ihrer asynchronen Entsprechungen erfolgt ist. Die Standardimplementierung beendet die von GetStopwatch(DbCommandInterceptionContext) zurückgegebene Stoppuhr und ruft auf Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

Diese Methode wird aufgerufen, ExecuteNonQuery() bevor ein Aufruf von oder einer ihrer asynchronen Entsprechungen erfolgt. Die Standardimplementierung ruft Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) die von GetStopwatch(DbCommandInterceptionContext)zurückgegebene Stoppuhr auf und startet sie.

Opened(DbConnection, DbConnectionInterceptionContext)

Wird nach Open() aufgerufen, oder seine asynchrone Entsprechung wird aufgerufen. Die Standardimplementierung dieser Methode filtert nach DbContext in Context, falls vorhanden, und protokolliert dann das Ereignis.

Opening(DbConnection, DbConnectionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Diese Methode wird aufgerufen, ExecuteReader(CommandBehavior) nachdem ein Aufruf oder eine ihrer asynchronen Entsprechungen erfolgt ist. Die Standardimplementierung beendet die von GetStopwatch(DbCommandInterceptionContext) zurückgegebene Stoppuhr und ruft auf Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Diese Methode wird aufgerufen, ExecuteReader(CommandBehavior) bevor ein Aufruf von oder einer ihrer asynchronen Entsprechungen erfolgt. Die Standardimplementierung ruft Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) die von GetStopwatch(DbCommandInterceptionContext)zurückgegebene Stoppuhr auf und startet sie.

RolledBack(DbTransaction, DbTransactionInterceptionContext)

Diese Methode wird aufgerufen, nachdem Rollback() aufgerufen wurde. Die Standardimplementierung dieser Methode filtert nach DbContext in Context, falls vorhanden, und protokolliert dann das Ereignis.

RollingBack(DbTransaction, DbTransactionInterceptionContext)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

Diese Methode wird aufgerufen, ExecuteScalar() nachdem ein Aufruf oder eine ihrer asynchronen Entsprechungen erfolgt ist. Die Standardimplementierung beendet die von GetStopwatch(DbCommandInterceptionContext) zurückgegebene Stoppuhr und ruft auf Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

Diese Methode wird aufgerufen, ExecuteScalar() bevor ein Aufruf von oder einer ihrer asynchronen Entsprechungen erfolgt. Die Standardimplementierung ruft Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) die von GetStopwatch(DbCommandInterceptionContext)zurückgegebene Stoppuhr auf und startet sie.

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Schreibt nicht in ein Protokoll, es sei denn, es wird überschrieben.

ToString()

Dies ist der Standardprotokollformatierer, der verwendet wird, wenn einige Action<T> auf die Log -Eigenschaft festgelegt sind. Ein anderer Formatierer kann verwendet werden, indem eine Klasse erstellt wird, die von dieser Klasse erbt und einige oder alle Methoden außer Kraft setzt, um das Verhalten zu ändern.

Write(String)

Schreibt die angegebene Zeichenfolge in den zugrunde liegenden Schreibdelegat.

Gilt für: