private void Viewer(ref Mess mess) { if (mess.tipo == LogType._Nothing) { mess.visualiz = true; //Si verifica nel caso in cui un metodo ne richiama un altro passondogli logMess con tipo log a nothing poichè non vuole che un eventuale errore venga loggato } if (App.DebugMode == true) { mess.visualiz = true; } if (mess.visualiz == true) { return; } bool esito = true; if (uscMess != null && uscMess.accoda(mess) == false) { esito = false; } if (uscMessSoloLog != null && uscMessSoloLog.accoda(mess) == false) { esito = false; } mess.visualiz = esito; }
public void Add(Mess mess) { //Accoda: si aggiungono messaggi tramite metodo così l'oggetto coda è isolato dall'esterno e non c'è bisogno di appendere nel testo di tracciamaneto la sub SubName if (mess == null) { mess = new Mess(LogType.ERR, "", "ricevuto mess a nothing"); } if (mess.oraCreazione == DateTime.MinValue) { mess.oraCreazione = DateTime.Now; } logQueue.Enqueue(mess); }
internal bool LoadConfigAndStartThread(object SaveLocation) { Mess logMess = new Mess(LogType.ERR, this.errUserText); this.config = (ConfigLog)this.config.Load(App.Config, out bool inErr, logMess: logMess); //Return False //La prima volta che faccio il DB o il fle config(a seconda di dove salvo le impostazioni) ritornerà false quindi lo segnalo come errore ma non ritorno false if (this.uscMess != null) { this.uscMess.config = (ConfigMess)this.uscMess.config.Load(App.Config, out inErr, logMess: logMess); } if (this.uscMessSoloLog != null) { this.uscMessSoloLog.config = (ConfigMess)this.uscMessSoloLog.config.Load(App.Config, out inErr, logMess: logMess); } Thread thrGestoreNotifiche = new Thread(thrCicloMessageManager); thrGestoreNotifiche.IsBackground = true; thrGestoreNotifiche.Start(); return(true); }
private void Logger(Mess mess) { if (mess.tipo == LogType._Nothing) { mess.loggato = true; //Si verifica nel caso in cui un metodo ne richiama un altro passondogli logMess con tipo log a nothing poichè non vuole che un eventuale errore venga loggato } if (mess.loggato == true) { return; } StreamWriter logFile; string strInizioLog = ""; if (File.Exists(config.DammiPercNomeFile()) == false) { if (App.SharedCodeApp != null) { strInizioLog += App.SharedCodeApp.GetAppName(); strInizioLog += " Ver. " + App.SharedCodeApp.GetAppVersion(); } logFile = new StreamWriter(config.DammiPercNomeFile(), true); logFile.WriteLine("Log starts - " + strInizioLog); logFile.WriteLine("yy/mm/dd hh:mm:ss.ms LogType UserMessage and LogMessage"); logFile.WriteLine(""); } else { logFile = new StreamWriter(this.config.DammiPercNomeFile(), true); //ATTENZIONE: non lo posso mettere prima del controllo xkè dopo sarebbe sempre (exist = true) } logFile.WriteLine(mess.oraCreazione.ToString("yy/MM/dd HH:mm:ss.fff") + " " + mess.tipo.ToString() + " " + mess.testoDaVisual + " " + mess.testoDaLoggare); logFile.Close(); mess.loggato = true; if (new FileInfo(config.DammiPercNomeFile()).Length > config.DimFile) { string logDaCanc, logDaRinom, suffissoDest; for (int i = (config.NumFile - 1); i <= 1; i -= 1) { if (i == 1) { logDaRinom = config.DammiPercNomeFile(); } else { logDaRinom = config.DammiPercNomeFile(conEsten: false) + "_" + i + config.EstensioneFile; } suffissoDest = "_" + (i + 1); logDaCanc = config.DammiPercNomeFile(conEsten: false) + suffissoDest + config.EstensioneFile; if (File.Exists(logDaCanc) == true) { FileSystem.DeleteFile(logDaCanc, UIOption.OnlyErrorDialogs, RecycleOption.DeletePermanently); } if (File.Exists(logDaRinom) == true) { FileSystem.RenameFile(logDaRinom, config.DammiPercNomeFile(conPerc: false, conEsten: false) + suffissoDest + config.EstensioneFile); } } } }