diff --git a/SteamWare.Logger/log2note.cs b/SteamWare.Logger/log2note.cs
deleted file mode 100644
index 21f96db..0000000
--- a/SteamWare.Logger/log2note.cs
+++ /dev/null
@@ -1,316 +0,0 @@
-using System;
-
-namespace SteamWare.Logger
-{
- ///
- /// classe gestione logging esteso di eventi e note utente (correlabili)
- ///
- public class log2note
- {
- #region area protected
-
- ///
- /// TableAdapter di accesso alla tabella anagrafica filtraggi
- ///
- protected DS_loggingTableAdapters.T_anagFiltroTableAdapter taAnagFilt;
- ///
- /// TableAdapter di accesso alla tabella anagrafica record
- ///
- protected DS_loggingTableAdapters.T_anagRecordTableAdapter taAnagRec;
- ///
- /// TableAdapter di accesso alla tabella logging record di eventi
- ///
- protected DS_loggingTableAdapters.T_logRecordsTableAdapter taLogRec;
- ///
- /// TableAdapter di accesso alla tabella logging utente
- ///
- protected DS_loggingTableAdapters.T_logUtenteTableAdapter taLogUt;
- ///
- /// TableAdapter di accesso alla vista logging eventi
- ///
- public DS_loggingTableAdapters.v_logRecordsTableAdapter ta_vLogRec;
- ///
- /// TableAdapter di accesso alla vista logging utente
- ///
- public DS_loggingTableAdapters.v_logUtenteTableAdapter ta_vLogUt;
-
- ///
- /// effettua setup dei connection strings da web.config delal singola applicazione
- ///
- protected void setupConnectionString()
- {
- // cambio le connString
- string _connectionString = memLayer.ML.confReadString("LoggingConnectionString");
- taAnagFilt.Connection.ConnectionString = _connectionString;
- taAnagRec.Connection.ConnectionString = _connectionString;
- taLogRec.Connection.ConnectionString = _connectionString;
- taLogUt.Connection.ConnectionString = _connectionString;
- ta_vLogUt.Connection.ConnectionString = _connectionString;
- ta_vLogRec.Connection.ConnectionString = _connectionString;
- }
- ///
- /// avvio i tari tableAdapters
- ///
- private void setupTA()
- {
- taAnagFilt = new DS_loggingTableAdapters.T_anagFiltroTableAdapter();
- taAnagRec = new DS_loggingTableAdapters.T_anagRecordTableAdapter();
- taLogRec = new DS_loggingTableAdapters.T_logRecordsTableAdapter();
- taLogUt = new DS_loggingTableAdapters.T_logUtenteTableAdapter();
- ta_vLogRec = new DS_loggingTableAdapters.v_logRecordsTableAdapter();
- ta_vLogUt = new DS_loggingTableAdapters.v_logUtenteTableAdapter();
- }
- ///
- /// avvio della classe istanziando db e
- ///
- log2note()
- {
- setupTA();
- setupConnectionString();
- }
-
-
- #endregion
-
- #region area public
-
- ///
- /// oggetto statico di accesso ai metodi della classe...
- ///
- public static log2note l2n = new log2note();
-
- #region area oggetti restituiti
-
- ///
- /// tabella eventi
- ///
- ///
- public DS_logging.v_logRecordsDataTable tabLogEventi()
- {
- return ta_vLogRec.GetData();
- }
- ///
- /// tabella note
- ///
- ///
- public DS_logging.v_logUtenteDataTable tabLogNote()
- {
- return ta_vLogUt.GetData();
- }
- ///
- /// tabella eventi secondo filtro
- ///
- /// filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
- ///
- public DS_logging.v_logRecordsDataTable tabLogEventi(string filtro)
- {
- return ta_vLogRec.getByFiltro(filtro);
- }
- ///
- /// tabella note secondo filtro
- ///
- /// filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
- ///
- public DS_logging.v_logUtenteDataTable tabLogNote(string filtro)
- {
- return ta_vLogUt.getByFiltro(filtro);
- }
- ///
- /// tabella eventi secondo filtro e condizione ulteriore WHERE esplicitata
- ///
- /// filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
- /// ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}"
- ///
- public DS_logging.v_logRecordsDataTable tabLogEventi(string filtro, string _where)
- {
- DS_logging.v_logRecordsDataTable _tab = new DS_logging.v_logRecordsDataTable();
- foreach (DS_logging.v_logRecordsRow riga in ta_vLogRec.getByFiltro(filtro).Select(_where))
- {
- _tab.Addv_logRecordsRow(riga);
- }
- return _tab;
- }
- ///
- /// tabella note secondo filtro e condizione ulteriore WHERE esplicitata
- ///
- /// filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
- /// ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}"
- ///
- public DS_logging.v_logUtenteDataTable tabLogNote(string filtro, string _where)
- {
- DS_logging.v_logUtenteDataTable _tab = new DS_logging.v_logUtenteDataTable();
- foreach (DS_logging.v_logUtenteRow riga in ta_vLogUt.getByFiltro(filtro).Select(_where))
- {
- _tab.Addv_logUtenteRow(riga);
- }
- return _tab;
- }
-
- ///
- /// tabella note secondo filtro
- ///
- /// filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
- ///
- public DS_logging.T_logUtenteDataTable tabLogUt(string filtro)
- {
- return taLogUt.getByFiltro(filtro);
- }
-
-
- #endregion
-
- #region area insert valori
-
- ///
- /// inserisce l'evento indicato dai parametri
- ///
- /// user che ha generato l'evento
- /// pagina/form applicaizone in cui l'evento si � generato
- /// valore originale(se c'�)
- /// valore nuovo/modificato
- /// descrizione evento (poi gestita con anagrafica interna)
- /// filtro logico evento (poi gestita con anagrafica interna)
- public void insEvento(string _userEv, string _pagina, string _valOrig, string _valNew, string _evento, string _filtro)
- {
- taLogRec.sp_insRecFull(_userEv, _pagina, _valOrig, _valNew, _evento, _filtro);
- }
- ///
- /// inserisce la nota utente indicata dai parametri, restituisce idx della nota creata...
- ///
- /// user che ha inserito la nota
- /// testo della nota
- /// valore ulteriore da associare alla nota (es: label, codice, versione, ...)
- /// filtro logico evento (poi gestita con anagrafica interna)
- /// intero dell'idx della nota creata
- public int insNota(string _userNota, string _nota, string _val, string _filtro)
- {
- int? answ = 0;
- taLogUt.sp_insLogUtFull(_userNota, _nota, _val, _filtro, ref answ);
- return (int)answ;
- }
-
- #endregion
-
- #region area gestione eventi (cestina, delete, associazione a note,...)
-
- ///
- /// associa l'evento e la nota indicati
- ///
- /// idx del record da associare
- /// idx chiave della nota da associare
- public void associaEvento2Nota(int idxRecord, int _idxNota)
- {
- taLogRec.sp_setRec2nota(idxRecord, _idxNota);
- }
-
- ///
- /// associa l'ultimo evento del filtro indicato alla nota
- ///
- /// filtro associato all'ultimo evento...
- /// idx chiave della nota da associare
- public void associaLastEvento2Nota(string filtro, int _idxNota)
- {
- taLogRec.sp_setLastRec2nota(filtro, _idxNota);
- }
- ///
- /// segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati
- ///
- /// utente generatore dell'evento
- public void cestinaEventiUser(string _userEv)
- {
- taLogRec.sp_cestinaLogRecUt(_userEv);
- }
- ///
- /// segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati
- ///
- /// utente generatore dell'evento
- public void cestinaEventiFiltro(string _filtro)
- {
- taLogRec.sp_cestinaLogRecFiltro(_filtro);
- }
- ///
- /// Elimina gli eventi cestinati generati dall'utente indicato
- ///
- /// utente generatore dell'evento
- public void eliminaEventiDaUser(string _userEv)
- {
- taLogRec.sp_deleteLogUser(_userEv);
- }
- ///
- /// Elimina gli eventi cestinati anteriori alla data selezionata
- ///
- /// dataOra dell'evento
- public void associaEvento2Nota(DateTime _dataOra)
- {
- taLogRec.sp_deleteLogMaxData(_dataOra);
- }
-
- ///
- /// effettua la registrazione dell'evento in session
- ///
- public void registraEventi(string _userEv, string _pagina)
- {
- // controllo: loggin SOLO se la scheda ha logging abilitato nella riga del db...
- bool logEn = memLayer.ML.BoolSessionObj("logEn");
- memLayer.ML.emptySessionVal("logEn");
- if (logEn)
- {
- // leggo e svuoto info x logging
- string ev2log = memLayer.ML.StringSessionObj("ev2log");
- memLayer.ML.emptySessionVal("ev2log");
- string valOrig = memLayer.ML.StringSessionObj("valOrig");
- memLayer.ML.emptySessionVal("valOrig");
- string valNew = memLayer.ML.StringSessionObj("valNew");
- memLayer.ML.emptySessionVal("valNew");
- string filtEv = memLayer.ML.StringSessionObj("filtEv");
- memLayer.ML.emptySessionVal("filtEv");
- // effettuo logging evento
- l2n.insEvento(_userEv, _pagina, valOrig, valNew, ev2log, filtEv);
- }
- }
-
- #endregion
-
- #endregion
- }
- ///
- /// metodo di comportamento del controllo di logging
- ///
- public enum logControlMode
- {
- ///
- /// nasconde pannello log
- ///
- hideLog,
- ///
- /// memorizza log inserito
- ///
- recordLog,
- ///
- /// mostra pannello log
- ///
- showLog
- }
- ///
- /// metodo di comportamento del controllo di logging
- ///
- public enum tipoApprovazione
- {
- ///
- /// indica il primo step del doppio livello di approvazione (completamento)
- ///
- completamento,
- ///
- /// SOLO con incremento indice di revisione dell'oggetto approvato
- ///
- revisione,
- ///
- /// SOLO mantenendo indice di revisione corrente
- ///
- semplice,
- ///
- /// permette SIA con revisione che senza (e anche rev -1)
- ///
- tutto
- }
-}
diff --git a/SteamWare.Logger/logger.cs b/SteamWare.Logger/logger.cs
deleted file mode 100644
index 90d4da8..0000000
--- a/SteamWare.Logger/logger.cs
+++ /dev/null
@@ -1,500 +0,0 @@
-using System;
-using System.IO;
-using System.Threading;
-
-namespace SteamWare.Logger
-{
- ///
- /// classe gesione log files applicazioni
- ///
- public class logger
- {
- #region dichiarazione variabili
-
- ///
- /// directory base x logs
- ///
- protected string _logBaseDir;
- ///
- /// nome del file corrente
- ///
- protected string _logfileName;
- ///
- /// max mb di log da accumulare
- ///
- protected int _logMaxMb;
- ///
- /// controlla se si debba mantenere sotto controllo la dimensioen della cartella logs
- ///
- protected bool _doShrinkFolder;
- ///
- /// Ultima verifica directory (x shrink)
- ///
- private static DateTime lastDirCheck;
- ///
- /// metodo gestione wirteLock su file log
- ///
- private static ReaderWriterLockSlim _readWriteLock = new ReaderWriterLockSlim();
- ///
- /// Indica se sia abilitato log diagnostico esteso...
- ///
- protected bool enableDumpDiag = false;
-
- #endregion
-
- #region metodi esposti
-
- ///
- /// singleton del logger
- ///
- public static logger lg = new logger();
-
- ///
- /// avvio del logger nella dir desiderata
- ///
- public logger()
- {
- string _logDir = memLayer.ML.confReadString("_logDir");
- try
- {
- _logBaseDir = SteamwareStrings.getFilePath(_logDir);
- }
- catch (Exception exc)
- {
- _logBaseDir = _logDir != "" ? _logDir : "~/logs/";
- }
- _logMaxMb = 100; // di default 100 mb...
- try
- {
- _doShrinkFolder = memLayer.ML.confReadBool("doShrinkFolder");
- }
- catch
- {
- _doShrinkFolder = true;
- }
- try
- {
- enableDumpDiag = memLayer.ML.confReadBool("enableDumpDiag");
- }
- catch
- {
- enableDumpDiag = false;
- }
- // all'avvio imposto ultimo check a 23 ore fa... cos� far� shrink DOPO 1 h da avvio
- lastDirCheck = DateTime.Now.AddHours(-23);
- }
- ///
- /// livello di log applicazione (da web.config, chiave '_logLevel')
- ///
- public int logLevel
- {
- get
- {
- int answ = -1;
- try
- {
- answ = memLayer.ML.CRI("_logLevel");
- }
- catch
- {
- scriviLog("non ho trovato chiave di registro x logLevel...", tipoLog.ERROR);
- }
- return answ;
- }
- }
- ///
- /// avvio del logger nella dir desiderata
- ///
- public logger(string _baseDir)
- {
- _logBaseDir = _baseDir;
- _logMaxMb = 40; // di default 40 mb...
- }
- ///
- /// avvio del logger nella dir desiderata con il max di dati indicato
- ///
- public logger(string _baseDir, int _logMaxMB)
- {
- _logBaseDir = _baseDir;
- _logMaxMb = _logMaxMB;
- }
- ///
- /// resetta il logfile odierno
- ///
- public void resetLogFile()
- {
- newLogfileName();
- FileInfo fi = new FileInfo(_logfileName);
- fi.Delete();
- scriviLog("ResetFile", tipoLog.STARTUP);
- }
- ///
- /// scrive sul file log di default il valore della variabile string passata su una riga... (tab delim?!?)
- ///
- /// testo iniziale del log
- ///
- public bool scriviLog(string _testoPre)
- {
- bool needWrite = false;
- bool fatto = false;
- // preparo hash redis
- string hKey = _testoPre.Replace(":", "_").Replace("/", "_").Replace("#", "_").Replace("(", "").Replace(")", "").Replace("|", "_").Replace(" ", "_").Replace("__", "_").Replace("__", "_").Replace("__", "_").Replace("__", "_");
- //se troppo lunga trimmo...
- if (hKey.Length > 100)
- {
- hKey = hKey.Substring(0, 100);
- }
- string hVetoErrore = memLayer.ML.redHash("Logger:Veto:" + hKey);
- string hCountErrore = memLayer.ML.redHash("Logger:Counter:" + hKey);
- bool redisEnabled = memLayer.ML.confReadBool("cacheOnRedis");
- // verifico mitigazione
- int logMitigSec = 30;
- try
- {
- if (memLayer.ML.confReadString("logMitigSec") != "")
- {
- logMitigSec = memLayer.ML.confReadInt("logMitigSec");
- }
- }
- catch
- { }
- // verifico SE HO redis (in quel caso gli errori li loggo 1 volta poi metto un VETO ed un counter)
- if (redisEnabled)
- {
- // cerco se ho un veto precedente in redis
- string vetoPar = memLayer.ML.getRSV(hVetoErrore);
- if (vetoPar != null && vetoPar != "")
- {
- needWrite = false;
- }
- else
- {
- // metto veto per TTL default... (durata std = 30 sec)
- memLayer.ML.setRSV(hVetoErrore, DateTime.UtcNow.ToString(), logMitigSec);
- // abilito log...
- needWrite = true;
- }
- memLayer.ML.setRCntI(hCountErrore);
- }
- else
- {
- // altrimenti log direttamente
- needWrite = true;
- }
- // se devo DAVVERO scrivere
- if (needWrite)
- {
- if (redisEnabled)
- {
- int numRep = memLayer.ML.getRCnt(hCountErrore);
- if (numRep > 1)
- {
- // cambio messaggio con un inizio pari al num di ripetizioni...
- _testoPre = string.Format("{0} x {1}", numRep, _testoPre);
- }
- // reset counter
- memLayer.ML.resetRCnt(hCountErrore);
- }
- fatto = doScriviLog(_testoPre);
- }
- return fatto;
- }
- ///
- /// Vera chiamata scrittura log x override con gestione REDIS di calmierazione
- ///
- ///
- ///
- private bool doScriviLog(string _testoPre)
- {
- bool fatto = false;
- // attenzione: rimpiazzo eventuali "" con newline...
- string _testo = string.Format("{0:H:mm:ss ffff} \t{1}", DateTime.Now, _testoPre.Replace("
", Environment.NewLine).Replace("
", Environment.NewLine).Replace("
", Environment.NewLine));
- // se � configurato x shrink ed � passato almeno 1 gg da ultimo check...
- if (_doShrinkFolder && lastDirCheck.AddDays(1) < DateTime.Now)
- {
- // verifica dim directory ed eventualmente cancella... - opzionale
- shrinkDir();
- // salvo nuova ora di check
- lastDirCheck = DateTime.Now;
- }
- // (ri)genera il nome del file di log...
- newLogfileName();
- // scrivo thread safe
- fatto = WriteToFileThreadSafe(_logfileName, _testo);
- return fatto;
- }
-
- ///
- /// Esecuzione scrittura ThreadSafe
- ///
- ///
- ///
- public bool WriteToFileThreadSafe(string logPath, string text2write)
- {
- bool answ = false;
- // Set Status to Locked
- _readWriteLock.EnterWriteLock();
- try
- {
- // Append text to the file
- using (StreamWriter sw = File.AppendText(logPath))
- {
- sw.WriteLine(text2write);
- sw.Close();
- answ = true;
- }
- }
- finally
- {
- // Release lock
- _readWriteLock.ExitWriteLock();
- }
- return answ;
- }
-
- ///
- /// scrive un messaggio di log con etichetta pre
- ///
- /// testo messaggio
- /// tipo di log da registrare (etichetta [...])
- ///
- public bool scriviLog(string testoLog, tipoLog tipo)
- {
- bool answ = false;
- answ = scriviLog(string.Format("[{0}] - {1}", tipo, testoLog));
- // se � un tipo EXCEPTION allora scrivo anche log diagnostico
- if (tipo == tipoLog.EXCEPTION && enableDumpDiag)
- {
- try
- {
- string[] pingTagets = SteamWare.StringSplitter.CSplitter.Split(memLayer.ML.CRS("pingTargets"), "#", true, -1, SteamWare.StringSplitter.ComparisonMethod.Text);
- string[] wwwTagets = SteamWare.StringSplitter.CSplitter.Split(memLayer.ML.CRS("wwwTargets"), "#", true, -1, SteamWare.StringSplitter.ComparisonMethod.Text);
- // chiamo scrittura diagnostica
- scriviDiagnostica("DUMP diagnostico causa Eccezione", pingTagets, wwwTagets);
- }
- catch
- { }
- }
- return answ;
- }
- ///
- /// scrive su log un dump di diagnostica
- ///
- /// Causale diagnostica
- /// target per test PING
- /// target x download www page
- public void scriviDiagnostica(string testoLog, string[] pingTargets, string[] wwwTargets)
- {
- string txtDiag = "";
- try
- {
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, SteamwareStrings.charLine('+', 80)));
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, SteamwareStrings.charLine('+', 80)));
- scriviLog(string.Format("[{0}] - {1}{2}", tipoLog.DUMP_DIAGN, testoLog, Environment.NewLine));
- }
- catch
- { }
-
- try
- {
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, formDiagBlock("UPTIME", Diagnostica.uptime)));
- }
- catch
- { }
-
- try
- {
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, formDiagBlock("STORAGE", Diagnostica.diskUsage)));
- }
- catch
- { }
-
- try
- {
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, formDiagBlock("USB", Diagnostica.usbDevices)));
- }
- catch
- { }
-
- try
- {
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, formDiagBlock("SERIAL", Diagnostica.serialPorts)));
- }
- catch
- { }
-
- try
- {
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, formDiagBlock("NETWORKING (interfaces)", Diagnostica.networkInterfaces)));
- }
- catch
- { }
-
- try
- {
- // se richiesto faccio PING test
- if (pingTargets.Length > 0)
- {
- txtDiag = "";
- foreach (string target in pingTargets)
- {
- txtDiag += SteamwareStrings.addLine(Diagnostica.pingIp(target));
- }
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, formDiagBlock("NETWORKING (ping)", txtDiag)));
- }
- }
- catch
- { }
-
- try
- {
- // se richiesto faccio PING test
- if (wwwTargets.Length > 0)
- {
- txtDiag = "";
- foreach (string target in wwwTargets)
- {
- txtDiag += SteamwareStrings.addLine(string.Format("WebPage Test ({2}): {0}{1}", Environment.NewLine, Diagnostica.getPageContent(target), target));
- }
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, formDiagBlock("NETWORKING (www)", txtDiag)));
- }
- }
- catch
- { }
-
- // chiudo
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, SteamwareStrings.charLine('-', 80)));
- scriviLog(string.Format("[{0}]{1}{2}", tipoLog.DUMP_DIAGN, Environment.NewLine, SteamwareStrings.charLine('-', 80)));
- }
- ///
- /// formatta un blococ di diagnostica (titolo, contenuto / eccezione)
- ///
- ///
- ///
- ///
- protected string formDiagBlock(string titolo, string contenuto)
- {
- string answ = SteamwareStrings.charTitle(titolo, '-', 60);
- try
- {
- answ += SteamwareStrings.addLine(contenuto);
- }
- catch
- {
- answ += string.Format("Errore diagnostica {0}", titolo);
- }
- return answ;
- }
-
-
- #endregion
-
- #region metodi privati
-
- ///
- /// fornisce il nome del file in cui loggare (ed eventualmente crea...)
- ///
- protected void newLogfileName()
- {
- DateTime CurrentDateTime = DateTime.Now;
- _logfileName = _logBaseDir + String.Format("{0}.log", CurrentDateTime.ToString("yyyyMMdd"));
- }
- ///
- /// provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb
- ///
- protected void shrinkDir()
- {
- // ottengo elenco files *.log
- fileMover.obj.setDirectory(_logBaseDir);
- FileInfo[] _fis = fileMover.obj.elencoFiles_FI("*.log");
- compressAndRemove(_fis);
- // acnhe per i "Vecchi" formati .txt
- _fis = fileMover.obj.elencoFiles_FI("*.txt");
- compressAndRemove(_fis);
- }
-
- private void compressAndRemove(FileInfo[] _fis)
- {
- foreach (FileInfo _file in _fis)
- {
- if (_file.CreationTime < DateTime.Now.AddDays(-2)) // zippo files + vecchi di 2 gg...
- {
- fileMover.obj.zippaSingoloFile(_file);
- // cancello l'originale...
- fileMover.obj.eliminaFile(_file);
- }
- }
- // verifico directory e dimensione...
- while (fileMover.obj.totalMb() > _logMaxMb)
- {
- // cancello i + vecchi fino a rientrare alla dimensione max...
- fileMover.obj.deleteOldest();
- }
- }
-
- ///
- /// fornisce il file + vecchio
- ///
- ///
- ///
- protected void deleteOldest(DirectoryInfo _di)
- {
- FileInfo[] _fis = _di.GetFiles();
- DateTime _oldest = DateTime.Now;
- string _nome = "";
- foreach (FileInfo _file in _fis)
- {
- if (_file.CreationTime < _oldest)
- {
- _nome = _file.Name;
- }
- }
- FileInfo fi = new FileInfo(_nome);
- fi.Delete();
- }
-
- #endregion
- }
- ///
- /// tipo di log ammesso
- ///
- public enum tipoLog
- {
- ///
- /// informazioni di debug
- ///
- DEBUG,
- ///
- /// dump diagnostica
- ///
- DUMP_DIAGN,
- ///
- /// errori
- ///
- ERROR,
- ///
- /// eccezioni nell'esecuzione try/catch
- ///
- EXCEPTION,
- ///
- /// errori fatali
- ///
- FATAL,
- ///
- /// informazioni opzionali
- ///
- INFO,
- ///
- /// log dei lemmi invocati per traduzione da vocabolario
- ///
- LEMMA,
- ///
- /// fase di avvio componente
- ///
- STARTUP,
- ///
- /// avvisi
- ///
- WARNING
- }
-}