public static DbTransactionContext GetLoggedDbTransaction(DbTransaction transaction, int connectionId) { var context = new DbTransactionContext { IsAsync = false, IsCanceled = false, Exception = null, ObjectContextId = SessionIdLoggingContext.SessionId.GetUniqueId(), ObjectContextName = SessionId, ConnectionId = connectionId, TransactionId = UniqueIdExtensions<DbTransaction>.GetUniqueId(transaction).ToInt() }; return context; }
public void LogTransaction(DbTransaction transaction, DbTransactionContext interceptionTransactionContext, CommandTransactionType type) { var commandTransaction = new CommandTransaction { IsAsync = interceptionTransactionContext.IsAsync, TransactionType = type, IsCanceled = interceptionTransactionContext.IsCanceled, Exception = interceptionTransactionContext.Exception != null ? interceptionTransactionContext.Exception.Message : "", StackTrace = new CallingMethod { AssembliesToExclude = AssembliesToExclude }.GetCallingMethodInfo() }; setBaseInfo(interceptionTransactionContext, commandTransaction); commandTransaction.TransactionId = UniqueIdExtensions <DbTransaction> .GetUniqueId(transaction).ToInt(); _baseInfoQueue.Enqueue(commandTransaction); }
public void TransactionRolledBack(DbTransaction transaction, DbTransactionContext transactionContext) { LogTransaction(transaction, transactionContext, CommandTransactionType.RolledBack); }
public void TransactionDisposing(DbTransaction transaction, DbTransactionContext transactionContext) { LogTransaction(transaction, transactionContext, CommandTransactionType.Disposed); }
public void TransactionCommitted(DbTransaction transaction, DbTransactionContext transactionContext) { LogTransaction(transaction, transactionContext, CommandTransactionType.Committed); }