Compartilhar via


DatabaseLogFormatter Classe

Definição

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade . Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

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
Herança
DatabaseLogFormatter
Implementações

Comentários

Para definir o novo formatador, crie uma configuração baseada em código para EF usando DbConfiguration e defina a classe de formatador a ser usada com SetDatabaseLogFormatter(Func<DbContext,Action<String>,DatabaseLogFormatter>). Observe que definir o tipo de formatador a ser usado com esse método altera a maneira como o comando é registrado quando Log é usado. Ainda é necessário definir um Action<T> em Log antes que todos os comandos sejam registrados. Para obter mais controle de nível baixo sobre registro em log/interceptação, consulte IDbCommandInterceptor e DbInterception. Interceptadores também podem ser registrados no arquivo de configuração do aplicativo. Consulte http://go.microsoft.com/fwlink/?LinkId=260883 para obter mais informações sobre a configuração do Entity Framework.

Construtores

DatabaseLogFormatter(Action<String>)

Cria um formatador que não filtrará por nenhum DbContext e, em vez disso, registrará todos os comandos de qualquer contexto e também comandos que não se originam de um contexto.

DatabaseLogFormatter(DbContext, Action<String>)

Cria um formatador que registrará apenas os comandos provenientes da instância fornecida DbContext .

Propriedades

Context

O contexto para o qual os comandos estão sendo registrados ou nulo se comandos de todos os contextos estiverem sendo registrados.

Stopwatch
Obsoleto.

Esta propriedade está obsoleta. Usá-lo pode resultar em tempos de execução incorretos em log. Chame GetStopwatch(DbCommandInterceptionContext) em seu lugar.

Métodos

BeganTransaction(DbConnection, BeginTransactionInterceptionContext)

Chamado após BeginTransaction(IsolationLevel) é invocado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, registra o evento.

BeginningTransaction(DbConnection, BeginTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

Closed(DbConnection, DbConnectionInterceptionContext)

Chamado após Close() é invocado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, registra o evento.

Closing(DbConnection, DbConnectionInterceptionContext)

Não grava no log, a menos que seja substituído.

Committed(DbTransaction, DbTransactionInterceptionContext)

Esse método é chamado depois Commit() que é invocado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, registra o evento.

Committing(DbTransaction, DbTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

ConnectionGetting(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Não grava no log, a menos que seja substituído.

ConnectionGot(DbTransaction, DbTransactionInterceptionContext<DbConnection>)

Não grava no log, a menos que seja substituído.

ConnectionStringGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionStringGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionStringSet(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionStringSetting(DbConnection, DbConnectionPropertyInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ConnectionTimeoutGetting(DbConnection, DbConnectionInterceptionContext<Int32>)

Não grava no log, a menos que seja substituído.

ConnectionTimeoutGot(DbConnection, DbConnectionInterceptionContext<Int32>)

Não grava no log, a menos que seja substituído.

DatabaseGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

DatabaseGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

DataSourceGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

DataSourceGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

Disposed(DbConnection, DbConnectionInterceptionContext)

Não grava no log, a menos que seja substituído.

Disposed(DbTransaction, DbTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

Disposing(DbConnection, DbConnectionInterceptionContext)

Chamado antes Dispose() de ser invocado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, registra o evento.

Disposing(DbTransaction, DbTransactionInterceptionContext)

Esse método é chamado antes Dispose() de ser invocado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, registra o evento.

EnlistedTransaction(DbConnection, EnlistTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

EnlistingTransaction(DbConnection, EnlistTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

Equals(Object)

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade . Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

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

Chamado sempre que um comando tiver concluído a execução. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, chama LogResult<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Normalmente, esse método só seria substituído para alterar o comportamento de filtragem de contexto.

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

Chamado sempre que um comando está prestes a ser executado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, chama LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>). Normalmente, esse método só seria substituído para alterar o comportamento de filtragem de contexto.

GetHashCode()

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade . Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

GetStopwatch(DbCommandInterceptionContext)

O cronômetro usado para cronometrar execuções. Esse cronômetro é iniciado no final dos NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)métodos , ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)e ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>) e é interrompido no início dos NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)métodos , ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)e ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>) . Se esses métodos forem substituídos e o cronômetro estiver sendo usado, as substituições deverão chamar o método base ou iniciar/parar o cronômetro por conta própria.

GetType()

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade . Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

IsolationLevelGetting(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Não grava no log, a menos que seja substituído.

IsolationLevelGot(DbTransaction, DbTransactionInterceptionContext<IsolationLevel>)

Não grava no log, a menos que seja substituído.

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

Chamado para registrar um comando que está prestes a ser executado. Substitua esse método para alterar como o comando é registrado System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionem .

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

Chamado por LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) para registrar cada parâmetro. Esse método pode ser chamado de uma implementação substituída de para parâmetros de LogCommand<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) log e/ou pode ser substituído para alterar a maneira como os parâmetros são registrados System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteActionem .

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

Chamado para registrar o resultado da execução de um comando. Substitua esse método para alterar como os resultados são registrados em .System.Data.Entity.Infrastructure.Interception.DatabaseLogFormatter.WriteAction

NonQueryExecuted(DbCommand, DbCommandInterceptionContext<Int32>)

Esse método é chamado depois que uma chamada para ExecuteNonQuery() ou uma de suas contrapartes assíncronas é feita. A implementação padrão interrompe o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext) e chama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

NonQueryExecuting(DbCommand, DbCommandInterceptionContext<Int32>)

Esse método é chamado antes que uma chamada para ExecuteNonQuery() ou uma de suas contrapartes assíncronas seja feita. A implementação padrão chama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e inicia o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext).

Opened(DbConnection, DbConnectionInterceptionContext)

Chamado após Open() ou seu equivalente assíncrono é invocado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, registra o evento.

Opening(DbConnection, DbConnectionInterceptionContext)

Não grava no log, a menos que seja substituído.

ReaderExecuted(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Esse método é chamado depois que uma chamada para ExecuteReader(CommandBehavior) ou uma de suas contrapartes assíncronas é feita. A implementação padrão interrompe o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext) e chama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ReaderExecuting(DbCommand, DbCommandInterceptionContext<DbDataReader>)

Esse método é chamado antes que uma chamada para ExecuteReader(CommandBehavior) ou uma de suas contrapartes assíncronas seja feita. A implementação padrão chama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e inicia o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext).

RolledBack(DbTransaction, DbTransactionInterceptionContext)

Esse método é chamado depois Rollback() que é invocado. A implementação padrão desse método filtra por DbContext definido como Context, se houver, e, em seguida, registra o evento.

RollingBack(DbTransaction, DbTransactionInterceptionContext)

Não grava no log, a menos que seja substituído.

ScalarExecuted(DbCommand, DbCommandInterceptionContext<Object>)

Esse método é chamado depois que uma chamada para ExecuteScalar() ou uma de suas contrapartes assíncronas é feita. A implementação padrão interrompe o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext) e chama Executed<TResult>(DbCommand, DbCommandInterceptionContext<TResult>).

ScalarExecuting(DbCommand, DbCommandInterceptionContext<Object>)

Esse método é chamado antes que uma chamada para ExecuteScalar() ou uma de suas contrapartes assíncronas seja feita. A implementação padrão chama Executing<TResult>(DbCommand, DbCommandInterceptionContext<TResult>) e inicia o cronômetro retornado de GetStopwatch(DbCommandInterceptionContext).

ServerVersionGetting(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

ServerVersionGot(DbConnection, DbConnectionInterceptionContext<String>)

Não grava no log, a menos que seja substituído.

StateGetting(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Não grava no log, a menos que seja substituído.

StateGot(DbConnection, DbConnectionInterceptionContext<ConnectionState>)

Não grava no log, a menos que seja substituído.

ToString()

Esse é o formatador de log padrão usado quando alguns Action<T> são definidos na Log propriedade . Um formatador diferente pode ser usado criando uma classe que herda dessa classe e substitui alguns ou todos os métodos para alterar o comportamento.

Write(String)

Grava a cadeia de caracteres fornecida no delegado de gravação subjacente.

Aplica-se a