Sdílet prostřednictvím


DatabaseLogFormatter Třída

Definice

Toto je výchozí formátovací nástroj protokolu, který se používá, když je u vlastnosti nastaveno Log nějakéAction<T>. Jiný formátovací modul lze použít vytvořením třídy, která dědí z této třídy a přepíše některé nebo všechny metody pro změnu chování.

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
Dědičnost
DatabaseLogFormatter
Implementuje

Poznámky

Pokud chcete nastavit nový formátovací nástroj, vytvořte konfiguraci založenou na kódu pro EF pomocí DbConfiguration a pak nastavte třídu formatter pro použití s SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>). Všimněte si, že nastavení typu formátovače pro použití s touto metodou změní způsob, jakým se příkazy protokolují při Log použití. Před zaprotokolovanými příkazy je stále nutné nastavit Action<T> na Log . Podrobnější kontrolu nad protokolováním a zachycováním najdete v tématech IDbCommandInterceptor a DbInterception. Zachytávací moduly lze také zaregistrovat v konfiguračním souboru aplikace. Další informace o konfiguraci entity frameworku najdete v tématu http://go.microsoft.com/fwlink/?LinkId=260883 .

Konstruktory

DatabaseLogFormatter(Action<String>)

Vytvoří formátovací nástroj, který nebude filtrovat podle žádného DbContext a místo toho bude protokolovat každý příkaz z libovolného kontextu a také příkazy, které nepocházejí z kontextu.

DatabaseLogFormatter(DbContext, Action<String>)

Vytvoří formátovací nástroj, který bude protokolovat pouze příkazy, které pocházejí z dané DbContext instance.

Vlastnosti

Context

Kontext, pro který se protokolují příkazy, nebo null, pokud jsou protokolovány příkazy ze všech kontextů.

Stopwatch
Zastaralé.

Tato vlastnost je zastaralá. Jeho použití může vést k protokolování nesprávných časů provádění. Místo toho zavolejte GetStopwatch(DbCommandInterceptionContext) .

Metody

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

Volána po BeginTransaction(IsolationLevel) je vyvolána. Výchozí implementace této metody se vyfiltruje podle DbContext nastavení do Context, pokud existuje, a pak zaznamená událost.

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

Closed(DbConnection, DbConnectionInterceptionContext)

Volána po Close() je vyvolána. Výchozí implementace této metody se vyfiltruje podle DbContext nastavení do Context, pokud existuje, a pak zaznamená událost.

Closing(DbConnection, DbConnectionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

Committed(DbTransaction, DbTransactionInterceptionContext)

Tato metoda je volána po Commit() je vyvolána. Výchozí implementace této metody se vyfiltruje podle DbContext nastavení do Context, pokud existuje, a pak zaznamená událost.

Committing(DbTransaction, DbTransactionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

Disposed(DbConnection, DbConnectionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

Disposed(DbTransaction, DbTransactionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

Disposing(DbConnection, DbConnectionInterceptionContext)

Voláno před Dispose() je vyvoláno. Výchozí implementace této metody se vyfiltruje podle DbContext nastavení do Context, pokud existuje, a pak zaznamená událost.

Disposing(DbTransaction, DbTransactionInterceptionContext)

Tato metoda je volána před Dispose() je vyvolána. Výchozí implementace této metody se vyfiltruje podle DbContext nastavení do Context, pokud existuje, a pak zaznamená událost.

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

Equals(Object)

Toto je výchozí formátovací nástroj protokolu, který se používá, když je u vlastnosti nastaveno Log nějakéAction<T>. Jiný formátovací modul lze použít vytvořením třídy, která dědí z této třídy a přepíše některé nebo všechny metody pro změnu chování.

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

Volá se při každém dokončení provádění příkazu. Výchozí implementace této metody filtruje podle DbContext nastavení do Context, pokud existuje, a pak volá LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Tato metoda by obvykle byla přepsána pouze za účelem změny chování filtrování kontextu.

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

Volá se vždy, když se chystá provést příkaz. Výchozí implementace této metody filtruje podle DbContext nastavení do Context, pokud existuje, a pak volá LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Tato metoda by obvykle byla přepsána pouze za účelem změny chování filtrování kontextu.

GetHashCode()

Toto je výchozí formátovací nástroj protokolu, který se používá, když je u vlastnosti nastaveno Log nějakéAction<T>. Jiný formátovací modul lze použít vytvořením třídy, která dědí z této třídy a přepíše některé nebo všechny metody pro změnu chování.

GetStopwatch(DbCommandInterceptionContext)

Stopky používané k časování provádění. Tyto stopky se spouští na konci NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)metod , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)a ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) a zastaví se na začátku NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)metod , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)a ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) . Pokud jsou tyto metody přepsány a používají se stopky, přepsání by mělo buď volat základní metodu, nebo spustit/zastavit samotné stopky.

GetType()

Toto je výchozí formátovací nástroj protokolu, který se používá, když je u vlastnosti nastaveno Log nějakéAction<T>. Jiný formátovací modul lze použít vytvořením třídy, která dědí z této třídy a přepíše některé nebo všechny metody pro změnu chování.

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

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

Volána k protokolování příkazu, který se má spustit. Přepsání této metody pro změnu způsobu protokolování příkazu do System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

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

Volá se pomocí LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) pro protokolování každého parametru. Tuto metodu lze volat z přepsané implementace LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) na parametry protokolu a/nebo ji lze přepsat, aby se změnil způsob protokolování parametrů do System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

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

Volána k protokolování výsledku spuštění příkazu. Přepsání této metody změní způsob protokolování výsledků do System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction.

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

Tato metoda je volána po volání ExecuteNonQuery() nebo jeden z jejích asynchronních protějšků je proveden. Výchozí implementace zastaví stopky vrácené z GetStopwatch(DbCommandInterceptionContext) a zavolá Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

Tato metoda je volána před voláním ExecuteNonQuery() nebo jedním z jejích asynchronních protějšků. Výchozí implementace zavolá Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a spustí stopky vrácené z GetStopwatch(DbCommandInterceptionContext).

Opened(DbConnection, DbConnectionInterceptionContext)

Volá se po Open() nebo je vyvolán jeho asynchronní protějšek. Výchozí implementace této metody se vyfiltruje podle DbContext nastavení do Context, pokud existuje, a pak zaznamená událost.

Opening(DbConnection, DbConnectionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Tato metoda je volána po volání ExecuteReader(CommandBehavior) nebo jeden z jejích asynchronních protějšků je proveden. Výchozí implementace zastaví stopky vrácené z GetStopwatch(DbCommandInterceptionContext) a zavolá Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Tato metoda je volána před voláním ExecuteReader(CommandBehavior) nebo jedním z jejích asynchronních protějšků. Výchozí implementace zavolá Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a spustí stopky vrácené z GetStopwatch(DbCommandInterceptionContext).

RolledBack(DbTransaction, DbTransactionInterceptionContext)

Tato metoda je volána po Rollback() je vyvolána. Výchozí implementace této metody se vyfiltruje podle DbContext nastavení do Context, pokud existuje, a pak zaznamená událost.

RollingBack(DbTransaction, DbTransactionInterceptionContext)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

Tato metoda je volána po volání ExecuteScalar() nebo jeden z jejích asynchronních protějšků je proveden. Výchozí implementace zastaví stopky vrácené z GetStopwatch(DbCommandInterceptionContext) a zavolá Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

Tato metoda je volána před voláním ExecuteScalar() nebo jedním z jejích asynchronních protějšků. Výchozí implementace zavolá Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a spustí stopky vrácené z GetStopwatch(DbCommandInterceptionContext).

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Nezapisuje do protokolu, pokud ho nepřepíšete.

ToString()

Toto je výchozí formátovací nástroj protokolu, který se používá, když je u vlastnosti nastaveno Log nějakéAction<T>. Jiný formátovací modul lze použít vytvořením třídy, která dědí z této třídy a přepíše některé nebo všechny metody pro změnu chování.

Write(String)

Zapíše daný řetězec do podkladového delegáta zápisu.

Platí pro