Compartir a través de


DatabaseLogFormatter Clase

Definición

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.

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.

Se aplica a