Example #1
0
        protected override void ReadApplicationSettings()
        {
            base.ReadApplicationSettings();
            bool result;

            if (bool.TryParse(ConfigurationManager.AppSettings["clearArchivedDumpFilesOnStartup"], out result) & result)
            {
                MiniDumpProvider.ClearArchivedDumpFiles(OculiService.PersistencePath);
            }
            bool.TryParse(ConfigurationManager.AppSettings["createCrashDumpsOnShutdown"], out this.createDumpsAtShutdown);
            int.TryParse(ConfigurationManager.AppSettings["maxLogFileSizeBytes"], out OculiServiceLogger.MaxLogFileSizeBytes);
        }
Example #2
0
 private void AppDomainUnhandledExceptionHandler(object sender, UnhandledExceptionEventArgs e)
 {
     if (!e.IsTerminating)
     {
         return;
     }
     using (LogicalOperation.Create(string.Format("An unhandled exception occurred in AppDomain: [{0}]", (object)AppDomain.CurrentDomain.FriendlyName), new object[0]))
     {
         try
         {
             if (e != null && e.ExceptionObject != null)
             {
                 if (e.ExceptionObject is Exception)
                 {
                     this.loader.Logger.Critical((Exception)e.ExceptionObject);
                 }
                 else
                 {
                     this.loader.Logger.Critical("Unknown error: " + e.ExceptionObject.ToString());
                 }
             }
             else
             {
                 this.loader.Logger.Critical("Malformed unknown error");
             }
         }
         finally
         {
             string filepath = Path.Combine(OculiService.PersistencePath, string.Format(OculiService.MiniDumpFormatString, (object)DateTime.UtcNow.ToString("yyyy_MM_dd_HH_mm_ss")));
             using (LogicalOperation.Create(string.Format("Writing crash dump to: [{0}]", (object)filepath), new object[0]))
             {
                 int num = MiniDumpProvider.Write(filepath);
                 if (num != 0)
                 {
                     this.loader.Logger.Critical(string.Format("Failed to write crash dump with error code: {0}", (object)num));
                 }
                 this.loader.Logger.Verbose("Crash dump written successfully");
             }
         }
     }
 }