/// <summary> /// Log event handler for trace logging /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MPSQLiteLogEventHandler(object sender, LogEventArgs e) { if (_sqliteDebugLogger == null || e == null) return; string logText = e.Message; if (logText == null) logText = "<null>"; else { logText = logText.Trim(); if (logText.Length == 0) logText = "<empty>"; } _sqliteDebugLogger.Debug("SQLite ({0}): {1}", e.ErrorCode, logText); }
/// <summary> /// Default logger. Currently, uses the Trace class (i.e. sends events /// to the current trace listeners, if any). /// </summary> /// <param name="sender">Should be null.</param> /// <param name="e">The data associated with this event.</param> private static void LogEventHandler( object sender, LogEventArgs e ) { if (e == null) return; string message = e.Message; if (message == null) { message = "<null>"; } else { message = message.Trim(); if (message.Length == 0) message = "<empty>"; } int errorCode = e.ErrorCode; Trace.WriteLine(String.Format( "SQLite {0} ({1}): {2}", errorCode == 0 ? "message" : "error", errorCode, message)); }
/////////////////////////////////////////////////////////////////////// /// <summary> /// Default logger. Currently, uses the Trace class (i.e. sends events /// to the current trace listeners, if any). /// </summary> /// <param name="sender">Should be null.</param> /// <param name="e">The data associated with this event.</param> private static void LogEventHandler( object sender, LogEventArgs e ) { #if !NET_COMPACT_20 if (e == null) return; string message = e.Message; if (message == null) { message = "<null>"; } else { message = message.Trim(); if (message.Length == 0) message = "<empty>"; } object errorCode = e.ErrorCode; bool success = false; if (errorCode is SQLiteErrorCode) success = ((SQLiteErrorCode)errorCode == SQLiteErrorCode.Ok); else if (errorCode is int) success = ((int)errorCode == 0); Trace.WriteLine(String.Format( CultureInfo.CurrentCulture, "SQLite {0} ({1}): {2}", success ? "message" : "error", errorCode, message)); #endif }
/////////////////////////////////////////////////////////////////////// /// <summary> /// Default logger. Currently, uses the Trace class (i.e. sends events /// to the current trace listeners, if any). /// </summary> /// <param name="sender">Should be null.</param> /// <param name="e">The data associated with this event.</param> private static void LogEventHandler( object sender, LogEventArgs e ) { #if !NET_COMPACT_20 if (e == null) return; string message = e.Message; if (message == null) { message = "<null>"; } else { message = message.Trim(); if (message.Length == 0) message = "<empty>"; } object errorCode = e.ErrorCode; string type = "error"; if ((errorCode is SQLiteErrorCode) || (errorCode is int)) { SQLiteErrorCode rc = (SQLiteErrorCode)(int)errorCode; rc &= SQLiteErrorCode.NonExtendedMask; if (rc == SQLiteErrorCode.Ok) { type = "message"; } else if (rc == SQLiteErrorCode.Notice) { type = "notice"; } else if (rc == SQLiteErrorCode.Warning) { type = "warning"; } else if ((rc == SQLiteErrorCode.Row) || (rc == SQLiteErrorCode.Done)) { type = "data"; } } else if (errorCode == null) { type = "trace"; } if ((errorCode != null) && !Object.ReferenceEquals(errorCode, String.Empty)) { Trace.WriteLine(UnsafeNativeMethods.StringFormat( CultureInfo.CurrentCulture, "SQLite {0} ({1}): {2}", type, errorCode, message)); } else { Trace.WriteLine(UnsafeNativeMethods.StringFormat( CultureInfo.CurrentCulture, "SQLite {0}: {1}", type, message)); } #endif }
//static void Main() //{ // var di = new DebugInfo(Path.Combine(CosmosRoot, @"Demos\Guess\bin\Debug\Guess.cdb")); // di.LoadLookups(); // var addr = (uint)1; // var q = new SQLinq<Label>() // .Where(i => i.Address <= addr) // .OrderByDescending(i => i.Address) // ; // Console.WriteLine(q.ToSQL().ToQuery()); // var xLabels = di.Connection.Query<Label>(q).Select(i => i.Name).ToArray(); // var g = Guid.Empty; // di.GetMethod(1); //} private static void SQLiteLog_Log(object sender, LogEventArgs e) { Console.WriteLine("SQL: {0}", e.Message); }
/////////////////////////////////////////////////////////////////////// /// <summary> /// Default logger. Currently, uses the Trace class (i.e. sends events /// to the current trace listeners, if any). /// </summary> /// <param name="sender">Should be null.</param> /// <param name="e">The data associated with this event.</param> private static void LogEventHandler( object sender, LogEventArgs e ) { #if !NET_COMPACT_20 if (e == null) { return; } string message = e.Message; if (message == null) { message = "<null>"; } else { message = message.Trim(); if (message.Length == 0) { message = "<empty>"; } } object errorCode = e.ErrorCode; string type = "error"; if ((errorCode is SQLiteErrorCode) || (errorCode is int)) { SQLiteErrorCode rc = (SQLiteErrorCode)(int)errorCode; rc &= SQLiteErrorCode.NonExtendedMask; if (rc == SQLiteErrorCode.Ok) { type = "message"; } else if (rc == SQLiteErrorCode.Notice) { type = "notice"; } else if (rc == SQLiteErrorCode.Warning) { type = "warning"; } else if ((rc == SQLiteErrorCode.Row) || (rc == SQLiteErrorCode.Done)) { type = "data"; } } else if (errorCode == null) { type = "trace"; } if ((errorCode != null) && !Object.ReferenceEquals(errorCode, String.Empty)) { Trace.WriteLine(HelperMethods.StringFormat( CultureInfo.CurrentCulture, "SQLite {0} ({1}): {2}", type, errorCode, message)); } else { Trace.WriteLine(HelperMethods.StringFormat( CultureInfo.CurrentCulture, "SQLite {0}: {1}", type, message)); } #endif }