static void OnTraceInternal(TraceInfo info) { if (info.BeforeExecute) { WriteTraceLine(info.SqlText, TraceSwitch.DisplayName); } else if (info.TraceLevel == TraceLevel.Error) { var sb = new StringBuilder(); for (var ex = info.Exception; ex != null; ex = ex.InnerException) { sb .AppendLine() .AppendFormat("Exception: {0}", ex.GetType()) .AppendLine() .AppendFormat("Message : {0}", ex.Message) .AppendLine() .AppendLine(ex.StackTrace) ; } WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } else if (info.RecordsAffected != null) { WriteTraceLine("Execution time: {0}. Records affected: {1}.\r\n".Args(info.ExecutionTime, info.RecordsAffected), TraceSwitch.DisplayName); } else { WriteTraceLine("Execution time: {0}\r\n".Args(info.ExecutionTime), TraceSwitch.DisplayName); } }
static void OnTraceInternal(TraceInfo info) { switch (info.TraceInfoStep) { case TraceInfoStep.BeforeExecute: WriteTraceLine(info.SqlText, TraceSwitch.DisplayName); break; case TraceInfoStep.AfterExecute: WriteTraceLine( info.RecordsAffected != null ? "Query Execution Time: {0}. Records Affected: {1}.\r\n".Args(info.ExecutionTime, info.RecordsAffected) : "Query Execution Time: {0}\r\n".Args(info.ExecutionTime), TraceSwitch.DisplayName); break; case TraceInfoStep.Error: { var sb = new StringBuilder(); for (var ex = info.Exception; ex != null; ex = ex.InnerException) { sb .AppendLine() .AppendLine("Exception: {0}".Args(ex.GetType())) .AppendLine("Message : {0}".Args(ex.Message)) .AppendLine(ex.StackTrace) ; } WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } break; case TraceInfoStep.MapperCreated: { var sb = new StringBuilder(); if (Configuration.Linq.TraceMapperExpression && info.MapperExpression != null) { sb.AppendLine(info.MapperExpression.GetDebugView()); } WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } break; case TraceInfoStep.Completed: { var sb = new StringBuilder(); sb.Append("Total Execution Time: {0}.".Args(info.ExecutionTime)); if (info.RecordsAffected != null) { sb.Append(" Rows Count: {0}.".Args(info.RecordsAffected)); } sb.AppendLine(); WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } break; } }
static void OnTraceInternal(TraceInfo info) { if (info.BeforeExecute) { var sqlProvider = info.DataConnection.DataProvider.CreateSqlBuilder(); var sb = new StringBuilder(); sb.Append("-- ").Append(info.DataConnection.ConfigurationString); if (info.DataConnection.ConfigurationString != info.DataConnection.DataProvider.Name) { sb.Append(' ').Append(info.DataConnection.DataProvider.Name); } if (info.DataConnection.DataProvider.Name != sqlProvider.Name) { sb.Append(' ').Append(sqlProvider.Name); } sb.AppendLine(); if (info.Command.Parameters != null && info.Command.Parameters.Count > 0) { foreach (IDataParameter p in info.Command.Parameters) { sb .Append("-- DECLARE ") .Append(p.ParameterName) .Append(' ') .Append(p.Value == null ? p.DbType.ToString() : p.Value.GetType().Name) .AppendLine(); } sb.AppendLine(); foreach (IDataParameter p in info.Command.Parameters) { var value = p.Value; if (value is string || value is char) { value = "'" + value.ToString().Replace("'", "''") + "'"; } sb .Append("-- SET ") .Append(p.ParameterName) .Append(" = ") .Append(value) .AppendLine(); } sb.AppendLine(); } sb.AppendLine(info.Command.CommandText); while (sb[sb.Length - 1] == '\n' || sb[sb.Length - 1] == '\r') { sb.Length--; } sb.AppendLine(); WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } else if (info.TraceLevel == TraceLevel.Error) { var sb = new StringBuilder(); for (var ex = info.Exception; ex != null; ex = ex.InnerException) { sb .AppendLine() .AppendFormat("Exception: {0}", ex.GetType()) .AppendLine() .AppendFormat("Message : {0}", ex.Message) .AppendLine() .AppendLine(ex.StackTrace) ; } WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } else if (info.RecordsAffected != null) { WriteTraceLine("Execution time: {0}. Records affected: {1}.\r\n".Args(info.ExecutionTime, info.RecordsAffected), TraceSwitch.DisplayName); } else { WriteTraceLine("Execution time: {0}\r\n".Args(info.ExecutionTime), TraceSwitch.DisplayName); } }
static void OnTraceInternal(TraceInfo info) { if (info.BeforeExecute) { var sqlProvider = info.DataConnection.DataProvider.CreateSqlBuilder(); var sb = new StringBuilder(); sb.Append("-- ").Append(info.DataConnection.ConfigurationString); if (info.DataConnection.ConfigurationString != info.DataConnection.DataProvider.Name) sb.Append(' ').Append(info.DataConnection.DataProvider.Name); if (info.DataConnection.DataProvider.Name != sqlProvider.Name) sb.Append(' ').Append(sqlProvider.Name); sb.AppendLine(); if (info.Command.Parameters != null && info.Command.Parameters.Count > 0) { foreach (IDataParameter p in info.Command.Parameters) sb .Append("-- DECLARE ") .Append(p.ParameterName) .Append(' ') .Append(p.Value == null ? p.DbType.ToString() : p.Value.GetType().Name) .AppendLine(); sb.AppendLine(); foreach (IDataParameter p in info.Command.Parameters) { var value = p.Value; if (value is string || value is char) value = "'" + value.ToString().Replace("'", "''") + "'"; sb .Append("-- SET ") .Append(p.ParameterName) .Append(" = ") .Append(value) .AppendLine(); } sb.AppendLine(); } sb.AppendLine(info.Command.CommandText); while (sb[sb.Length - 1] == '\n' || sb[sb.Length - 1] == '\r') sb.Length--; sb.AppendLine(); WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } else if (info.TraceLevel == TraceLevel.Error) { var sb = new StringBuilder(); for (var ex = info.Exception; ex != null; ex = ex.InnerException) { sb .AppendLine() .AppendFormat("Exception: {0}", ex.GetType()) .AppendLine() .AppendFormat("Message : {0}", ex.Message) .AppendLine() .AppendLine(ex.StackTrace) ; } WriteTraceLine(sb.ToString(), TraceSwitch.DisplayName); } else if (info.RecordsAffected != null) { WriteTraceLine("Execution time: {0}. Records affected: {1}.\r\n".Args(info.ExecutionTime, info.RecordsAffected), TraceSwitch.DisplayName); } else { WriteTraceLine("Execution time: {0}\r\n".Args(info.ExecutionTime), TraceSwitch.DisplayName); } }