DatabaseLogFormatter Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- Herencia
-
DatabaseLogFormatter
- Implementaciones
Comentarios
Para establecer el nuevo formateador, cree una configuración basada en código para EF mediante DbConfiguration y, a continuación, establezca la clase formateador que se usará con SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>). Tenga en cuenta que al establecer el tipo de formateador que se va a usar con este método, se cambia la forma en que se registra el comando cuando Log se usa . Todavía es necesario establecer en Action<T>Log antes de que se registren los comandos. Para obtener más control de bajo nivel sobre el registro o la interceptación, vea IDbCommandInterceptor y DbInterception. Los interceptores también se pueden registrar en el archivo de configuración de la aplicación. Consulte http://go.microsoft.com/fwlink/?LinkId=260883 para obtener más información sobre la configuración de Entity Framework.
Constructores
DatabaseLogFormatter(Action<String>) |
Crea un formateador que no filtrará por ninguno DbContext y, en su lugar, registrará todos los comandos desde cualquier contexto y también los comandos que no se originan en un contexto. |
DatabaseLogFormatter(DbContext, Action<String>) |
Crea un formateador que solo registrará los comandos que proceden de la instancia especificada DbContext . |
Propiedades
Context |
Contexto para el que se registran los comandos o null si se registran comandos de todos los contextos. |
Stopwatch |
Obsoletos.
Esta propiedad ha quedado obsoleta. Su uso puede dar lugar a tiempos de ejecución incorrectos de registro. En su lugar, llame a GetStopwatch(DbCommandInterceptionContext). |
Métodos
BeganTransaction(DbConnection, BeginTransactionInterceptionContext) |
Se llama después BeginTransaction(IsolationLevel) de invocarse. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, registra el evento. |
BeginningTransaction(DbConnection, BeginTransactionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
Closed(DbConnection, DbConnectionInterceptionContext) |
Se llama después Close() de invocarse. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, registra el evento. |
Closing(DbConnection, DbConnectionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
Committed(DbTransaction, DbTransactionInterceptionContext) |
Se llama a este método después Commit() de invocarse. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, registra el evento. |
Committing(DbTransaction, DbTransactionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
No escribe en el registro a menos que se invalide. |
ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>) |
No escribe en el registro a menos que se invalide. |
ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>) |
No escribe en el registro a menos que se invalide. |
ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>) |
No escribe en el registro a menos que se invalide. |
DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
Disposed(DbConnection, DbConnectionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
Disposed(DbTransaction, DbTransactionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
Disposing(DbConnection, DbConnectionInterceptionContext) |
Se llama antes de Dispose() que se invoque. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, registra el evento. |
Disposing(DbTransaction, DbTransactionInterceptionContext) |
Se llama a este método antes Dispose() de invocarse. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, registra el evento. |
EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
Equals(Object) |
Este es el formateador de registro predeterminado que se usa cuando se establece alguna Action<T> en la Log propiedad . Se puede usar un formateador diferente creando una clase que hereda de esta clase e invalida algunos o todos los métodos para cambiar el comportamiento. |
Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Se llama cada vez que se ha completado la ejecución de un comando. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, llama a LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Este método normalmente solo se invalida para cambiar el comportamiento de filtrado de contexto. |
Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Se llama cada vez que se va a ejecutar un comando. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, llama a LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Este método normalmente solo se invalida para cambiar el comportamiento de filtrado de contexto. |
GetHashCode() |
Este es el formateador de registro predeterminado que se usa cuando se establece alguna Action<T> en la Log propiedad . Se puede usar un formateador diferente creando una clase que hereda de esta clase e invalida algunos o todos los métodos para cambiar el comportamiento. |
GetStopwatch(DbCommandInterceptionContext) |
El cronómetro usado para las ejecuciones de tiempo. Este cronómetro se inicia al final de NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)los métodos , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)y ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) y se detiene al principio de los NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)métodos , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)y ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) . Si estos métodos se invalidan y se usa el cronómetro, las invalidaciones deben llamar al método base o iniciar o detener el cronómetro. |
GetType() |
Este es el formateador de registro predeterminado que se usa cuando se establece alguna Action<T> en la Log propiedad . Se puede usar un formateador diferente creando una clase que hereda de esta clase e invalida algunos o todos los métodos para cambiar el comportamiento. |
IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
No escribe en el registro a menos que se invalide. |
IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>) |
No escribe en el registro a menos que se invalide. |
LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Se llama para registrar un comando que está a punto de ejecutarse. Invalide este método para cambiar cómo se registra el comando en System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
LogParameter<TResult>(DbCommand, DbCommandInterceptionContext<TResult>, DbParameter) |
Llamado por LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) para registrar cada parámetro. Se puede llamar a este método desde una implementación invalidada de LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) para registrar parámetros y/o se puede invalidar para cambiar la forma en que se registran los parámetros en System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) |
Se llama para registrar el resultado de ejecutar un comando. Invalide este método para cambiar cómo se registran los resultados en System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction. |
NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>) |
Se llama a este método después de realizar una llamada a ExecuteNonQuery() o a uno de sus homólogos asincrónicos. La implementación predeterminada detiene el cronómetro devuelto de GetStopwatch(DbCommandInterceptionContext) y llama a Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>) |
Se llama a este método antes de realizar una llamada a ExecuteNonQuery() o a uno de sus homólogos asincrónicos. La implementación predeterminada llama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a e inicia el cronómetro devuelto desde GetStopwatch(DbCommandInterceptionContext). |
Opened(DbConnection, DbConnectionInterceptionContext) |
Se llama a después Open() de que se invoque a su homólogo asincrónico o a su homólogo asincrónico. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, registra el evento. |
Opening(DbConnection, DbConnectionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Se llama a este método después de realizar una llamada a ExecuteReader(CommandBehavior) o a uno de sus homólogos asincrónicos. La implementación predeterminada detiene el cronómetro devuelto de GetStopwatch(DbCommandInterceptionContext) y llama a Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) |
Se llama a este método antes de realizar una llamada a ExecuteReader(CommandBehavior) o a uno de sus homólogos asincrónicos. La implementación predeterminada llama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a e inicia el cronómetro devuelto desde GetStopwatch(DbCommandInterceptionContext). |
RolledBack(DbTransaction, DbTransactionInterceptionContext) |
Se llama a este método después Rollback() de invocarse. La implementación predeterminada de este método filtra por DbContext establecido en Context, si existe, y, a continuación, registra el evento. |
RollingBack(DbTransaction, DbTransactionInterceptionContext) |
No escribe en el registro a menos que se invalide. |
ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>) |
Se llama a este método después de realizar una llamada a ExecuteScalar() o a uno de sus homólogos asincrónicos. La implementación predeterminada detiene el cronómetro devuelto de GetStopwatch(DbCommandInterceptionContext) y llama a Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). |
ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>) |
Se llama a este método antes de realizar una llamada a ExecuteScalar() o a uno de sus homólogos asincrónicos. La implementación predeterminada llama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) a e inicia el cronómetro devuelto desde GetStopwatch(DbCommandInterceptionContext). |
ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>) |
No escribe en el registro a menos que se invalide. |
StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
No escribe en el registro a menos que se invalide. |
StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>) |
No escribe en el registro a menos que se invalide. |
ToString() |
Este es el formateador de registro predeterminado que se usa cuando se establece alguna Action<T> en la Log propiedad . Se puede usar un formateador diferente creando una clase que hereda de esta clase e invalida algunos o todos los métodos para cambiar el comportamiento. |
Write(String) |
Escribe la cadena especificada en el delegado de escritura subyacente. |