Esempio n. 1
0
        public static crawlerErrorLog CreateAndSave(Exception __axe, IModelRecord __relevantRecord = null, crawlerDomainTask __task = null, crawlerErrorEnum __errorType = crawlerErrorEnum.none)
        {
            crawlerErrorLog output = new crawlerErrorLog(__axe, __relevantRecord, __task, __errorType, 1);

            if (FirstError == null)
            {
                FirstError = output;
            }

            Console.WriteLine("Error [" + output.Title + "]");
            // Console.WriteLine("Message [" + output.Message + "]");
            // Console.WriteLine("Spec.msg. [" + output.specificMessage + "]");

            string path = output.SaveXML();

            Console.WriteLine("Crawler error log saved to: " + path);

            if (FirstError == output)
            {
                if (imbWEMManager.settings.executionLog.doOpenFirstException)
                {
                    externalToolExtensions.run(externalTool.notepadpp, path);
                }
            }

            if (imbWEMManager.settings.executionLog.doThrowDLCException)
            {
                throw __axe;
            }

            return(output);
        }
Esempio n. 2
0
 /// <summary>
 /// Gets the report.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="forRecord">For record.</param>
 /// <returns></returns>
 public virtual T GetReport <T>(IModelRecord forRecord) where T : class
 {
     if (byRecord.ContainsKey(forRecord))
     {
         return(byRecord[forRecord] as T);
     }
     return(null);
 }
Esempio n. 3
0
 public virtual IMetaContentNested GetByRecord(IModelRecord record)
 {
     if (byRecord.ContainsKey(record))
     {
         return(byRecord[record]);
     }
     else
     {
         return(null);
     }
 }
Esempio n. 4
0
        protected void deploy(Exception __axe, crawlerErrorEnum __errorType, string __specificMessage, object __relevantInstance, IModelRecord __relevantRecord, crawlerDomainTask __task = null, int stacks = 1)
        {
            specificMessage = __specificMessage;
            relevantRecord  = __relevantRecord;
            if (relevantRecord == null)
            {
                if (__relevantInstance is IModelRecord)
                {
                    relevantRecord = (IModelRecord)__relevantInstance;
                }
            }

            if (__errorType == crawlerErrorEnum.none)
            {
                __errorType = crawlerErrorEnum.exceptionError;
            }

            if (__axe != null)
            {
                if (__axe is aceGeneralException)
                {
                    axe = (aceGeneralException)__axe;
                    axe.SetLogSerializable(this);
                }
                else if (__axe is Exception)
                {
                    if (__axe.Message.Contains("thread"))
                    {
                        isThreadCancelError = true;
                    }
                    axe = new aceGeneralException(__axe.Message, __axe, __relevantInstance, "Crawler error: " + __errorType.ToString(), stacks + 2);
                    axe.SetLogSerializable(this);
                }
                else
                {
                    axe = null;
                }
            }


            if (__relevantRecord != null)
            {
                relevantRecord = relevantRecord;
                // relevantRecord.SetLogSerializable(this);
            }

            if (__task != null)
            {
                task = __task;
                __task.SetLogSerializable(this);
                __errorType |= crawlerErrorEnum.domainTaskError;
            }
        }
Esempio n. 5
0
 /// <summary>
 /// Registers for record.
 /// </summary>
 /// <param name="record">The record.</param>
 /// <param name="content">The content.</param>
 public virtual void registerForRecord(IModelRecord record, IMetaContentNested content)
 {
     // String token = makeToken(record);
     byRecord.Add(record, content);
     //if (!byToken.ContainsKey(token))
     //{
     //    byToken.Add(token, content);
     //} else
     //{
     //    aceLog.log("Duplicate token in the registry: " + token);
     //}
 }
Esempio n. 6
0
 public crawlerErrorLog(Exception __axe, IModelRecord __relevantRecord = null, crawlerDomainTask __task = null, crawlerErrorEnum __errorType = crawlerErrorEnum.none, int stacks = 1)
 {
     deploy(__axe, __errorType, "", __task, __relevantRecord, __task, stacks + 1);
 }
Esempio n. 7
0
 /// <summary>
 /// Makes the token.
 /// </summary>
 /// <param name="forRecord">For record.</param>
 /// <returns></returns>
 protected abstract string makeToken(IModelRecord forRecord);