public LogDTO(LogSQLiteModel log)
        {
#if UNIT_TEST
            DeviceType        = "123";
            DeviceDescription = "123";
#else
            DeviceType        = DeviceUtils.DeviceType;
            DeviceDescription = DeviceUtils.DeviceModel;
#endif
            ReportedTime             = log.ReportedTime;
            Severity                 = log.Severity;
            Description              = log.Description;
            ApiVersion               = log.ApiVersion;
            BuildVersion             = log.BuildVersion;
            BuildNumber              = log.BuildNumber;
            DeviceOSVersion          = log.DeviceOSVersion;
            DeviceCorrelationId      = "";
            ExceptionType            = log.ExceptionType;
            ExceptionMessage         = log.ExceptionMessage;
            ExceptionStackTrace      = log.ExceptionStackTrace;
            InnerExceptionType       = log.InnerExceptionType;
            InnerExceptionMessage    = log.InnerExceptionMessage;
            InnerExceptionStackTrace = log.InnerExceptionStackTrace;
            Api             = log.Api;
            ApiErrorCode    = log.ApiErrorCode;
            ApiErrorMessage = log.ApiErrorMessage;
            AdditionalInfo  = log.AdditionalInfo;
            CorrelationId   = log.CorrelationId;
        }
        public static void LogMessage(LogSeverity severity, string message, string additionalInfo = "", string correlationId = null)
        {
            LogDeviceDetails logModel = new LogDeviceDetails(severity, message, additionalInfo);
            LogSQLiteModel   dbModel  = new LogSQLiteModel(logModel, null, null, correlationId);

            ServiceLocator.Current.GetInstance <ILoggingManager>().SaveNewLog(dbModel);
        }
        public static void LogException(LogSeverity severity, Exception e, string contextDescription, string additionalInfo = "", string correlationId = null)
        {
            LogDeviceDetails    logModel = new LogDeviceDetails(severity, contextDescription, additionalInfo);
            LogExceptionDetails eModel   = new LogExceptionDetails(e);
            LogSQLiteModel      dbModel  = new LogSQLiteModel(logModel, null, eModel, correlationId);

            ServiceLocator.Current.GetInstance <ILoggingManager>().SaveNewLog(dbModel);
        }
        public static void LogApiError(LogSeverity severity, ApiResponse apiResponse, bool erroredSilently,
                                       string additionalInfo = "", string overwriteMessage = null)
        {
            string errorMessage = overwriteMessage ?? apiResponse.ErrorLogMessage;
            string message      = errorMessage
                                  + (erroredSilently ? " (silent)" : " (error shown)");
            LogDeviceDetails    logModel = new LogDeviceDetails(severity, message, additionalInfo);
            LogApiDetails       apiModel = new LogApiDetails(apiResponse);
            LogExceptionDetails eModel   = null;

            if (apiResponse.Exception != null)
            {
                eModel = new LogExceptionDetails(apiResponse.Exception);
            }
            LogSQLiteModel dbModel = new LogSQLiteModel(logModel, apiModel, eModel);

            ServiceLocator.Current.GetInstance <ILoggingManager>().SaveNewLog(dbModel);
        }
示例#5
0
        public async void SaveNewLog(LogSQLiteModel log)
        {
            await _syncLock.WaitAsync();

            try
            {
                await _database.InsertAsync(log);

                System.Diagnostics.Debug.Print($"Logged {log.Severity}: {log.Description}");
                if (log.ExceptionMessage != null)
                {
                    System.Diagnostics.Debug.Print($"({log.ExceptionType}) {log.ExceptionMessage}");
                    System.Diagnostics.Debug.Print(log.ExceptionStackTrace);
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.Print(e.ToString());
            }
            finally
            {
                _syncLock.Release();
            }
        }
示例#6
0
 public async void SaveNewLog(LogSQLiteModel log)
 {
     _logList.Add(log);
 }