DatabaseLogFormatter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- Dziedziczenie
-
DatabaseLogFormatter
- Implementuje
Uwagi
Aby ustawić nowy formatator, utwórz konfigurację opartą na kodzie dla platformy EF przy użyciu programu EF, DbConfiguration a następnie ustaw klasę formatera do użycia z SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>)programem . Należy pamiętać, że ustawienie typu formatującego do użycia z tą metodą powoduje zmianę sposobu rejestrowania polecenia, gdy Log jest używany. Nadal należy ustawić wartość Action<T> na przed Log zarejestrowaniem wszystkich poleceń. Aby uzyskać bardziej niską kontrolę nad rejestrowaniem/przechwytywaniem, zobacz IDbCommandInterceptor i DbInterception. Przechwytniki można również zarejestrować w pliku konfiguracji aplikacji. Zobacz http://go.microsoft.com/fwlink/?LinkId=260883 , aby uzyskać więcej informacji na temat konfiguracji programu Entity Framework.
Konstruktory
| DatabaseLogFormatter(Action<String>) |
Tworzy formater, który nie będzie filtrować według żadnego DbContext polecenia i zamiast tego rejestruje każde polecenie z dowolnego kontekstu, a także polecenia, które nie pochodzą z kontekstu. |
| DatabaseLogFormatter(DbContext, Action<String>) |
Tworzy program formatujący, który będzie rejestrować tylko polecenia pochodzące z danego DbContext wystąpienia. |
Właściwości
| Context |
Kontekst, dla którego są rejestrowane polecenia lub null, jeśli polecenia ze wszystkich kontekstów są rejestrowane. |
| Stopwatch |
Przestarzałe.
Ta właściwość jest przestarzała. Użycie go może spowodować rejestrowanie nieprawidłowych czasów wykonywania. Wywołaj GetStopwatch(DbCommandInterceptionContext) zamiast tego. |
Metody
| BeganTransaction(DbConnection, BeginTransactionInterceptionContext) |
Wywoływane po BeginTransaction(IsolationLevel) wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
| BeginningTransaction(DbConnection, BeginTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| Closed(DbConnection, DbConnectionInterceptionContext) |
Wywoływane po Close() wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
| Closing(DbConnection, DbConnectionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| Committed(DbTransaction, DbTransactionInterceptionContext) |
Ta metoda jest wywoływana po Commit() wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
| Committing(DbTransaction, DbTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| Disposed(DbConnection, DbConnectionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| Disposed(DbTransaction, DbTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| Disposing(DbConnection, DbConnectionInterceptionContext) |
Wywoływane przed Dispose() wywołaniem. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
| Disposing(DbTransaction, DbTransactionInterceptionContext) |
Ta metoda jest wywoływana przed Dispose() wywołaniem. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
| EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| Equals(Object) |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
| Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywoływane za każdym razem, gdy polecenie zostało wykonane. Domyślna implementacja tej metody filtruje według DbContext wartości , Contextjeśli istnieje, a następnie wywołuje metodę LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Ta metoda zwykle jest zastępowana tylko w celu zmiany zachowania filtrowania kontekstu. |
| Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywoływane za każdym razem, gdy polecenie ma zostać wykonane. Domyślna implementacja tej metody filtruje według DbContext wartości , Contextjeśli istnieje, a następnie wywołuje metodę LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Ta metoda zwykle jest zastępowana tylko w celu zmiany zachowania filtrowania kontekstu. |
| GetHashCode() |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
| GetStopwatch(DbCommandInterceptionContext) |
Stoper używany do wykonywania czasu. Ten stoper jest uruchamiany na końcu NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)metod , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)i ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) jest zatrzymywany na początku NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)metod , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)i .ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) Jeśli te metody są zastępowane, a stoper jest używany, przesłonięcia powinny wywoływać metodę podstawową lub uruchomić/zatrzymać sam stoper. |
| GetType() |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
| IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywoływana w celu zarejestrowania polecenia, które ma zostać wykonane. Zastąpij tę metodę, aby zmienić sposób rejestrowania polecenia na System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
| LogParameter<TResult>(DbCommand, DbCommandInterceptionContext<TResult>, DbParameter) |
Wywoływane przez w LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) celu rejestrowania każdego parametru. Tę metodę można wywołać z przesłoniętej implementacji LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) parametrów dziennika i/lub można zastąpić, aby zmienić sposób rejestrowania parametrów na System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
| LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Wywołana w celu zarejestrowania wyniku wykonania polecenia. Zastąpij tę metodę, aby zmienić sposób rejestrowania wyników na System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
| NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>) |
Ta metoda jest wywoływana po wywołaniu metody ExecuteNonQuery() lub jednej z jego odpowiedników asynchronicznych. Domyślna implementacja zatrzymuje stoper zwracany z GetStopwatch(DbCommandInterceptionContext) elementu i wywołuje polecenie Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
| NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>) |
Ta metoda jest wywoływana przed wywołaniem ExecuteNonQuery() metody lub jednym z jego odpowiedników asynchronicznych. Domyślne wywołania Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) implementacji i uruchamia stoper zwrócony z GetStopwatch(DbCommandInterceptionContext)elementu . |
| Opened(DbConnection, DbConnectionInterceptionContext) |
Wywoływany jest Open() po wywołaniu lub jego odpowiednik asynchroniczny. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
| Opening(DbConnection, DbConnectionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Ta metoda jest wywoływana po wywołaniu metody ExecuteReader(CommandBehavior) lub jednej z jego odpowiedników asynchronicznych. Domyślna implementacja zatrzymuje stoper zwracany z GetStopwatch(DbCommandInterceptionContext) elementu i wywołuje polecenie Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
| ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Ta metoda jest wywoływana przed wywołaniem ExecuteReader(CommandBehavior) metody lub jednym z jego odpowiedników asynchronicznych. Domyślne wywołania Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) implementacji i uruchamia stoper zwrócony z GetStopwatch(DbCommandInterceptionContext)elementu . |
| RolledBack(DbTransaction, DbTransactionInterceptionContext) |
Ta metoda jest wywoływana po Rollback() wywołaniu. Domyślna implementacja tej metody filtruje według DbContext ustawienia Context, jeśli istnieje, a następnie rejestruje zdarzenie. |
| RollingBack(DbTransaction, DbTransactionInterceptionContext) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>) |
Ta metoda jest wywoływana po wywołaniu metody ExecuteScalar() lub jednej z jego odpowiedników asynchronicznych. Domyślna implementacja zatrzymuje stoper zwracany z GetStopwatch(DbCommandInterceptionContext) elementu i wywołuje polecenie Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
| ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>) |
Ta metoda jest wywoływana przed wywołaniem ExecuteScalar() metody lub jednym z jego odpowiedników asynchronicznych. Domyślne wywołania Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) implementacji i uruchamia stoper zwrócony z GetStopwatch(DbCommandInterceptionContext)elementu . |
| ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
Nie zapisuje w dzienniku, chyba że zostanie zastąpiony. |
| ToString() |
Jest to domyślny formater dziennika używany, gdy niektóre Action<T> są ustawione na Log właściwość . Można użyć innego formatatora, tworząc klasę dziedziczą po tej klasie i zastępuje niektóre lub wszystkie metody zmiany zachowania. |
| Write(String) |
Zapisuje dany ciąg do podstawowego delegata zapisu. |