//+------------------------------------------------------------------+ //| Logger.mq4 | //| Copyright © 2011, Zdenek Hubner | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, Zdenek Hubner" #property link "" bool DebugEnabled; bool ErrorEnabled; bool WarningEnabled; string FileName; // Inicializace loggeru // fileName = název souboru // debugEnabled = zapíná logování typu DEBUG // warningEnabled = zapíná logování typu WARNING // errorEnabled = zapíná logování typu ERROR void LogInit(string fileName, bool debugEnabled = true, bool warningEnabled = false, bool errorEnabled = true) { FileName = fileName; DebugEnabled = debugEnabled; WarningEnabled = warningEnabled; ErrorEnabled = errorEnabled; } // Zjišťuje, zda je povoleno logování typu DEBUG bool LogIsDebug() { return(DebugEnabled); } // Zjišťuje, zda je povoleno logování typu WARNING bool LogIsWarning() { return(WarningEnabled); } // Zjišťuje, zda je povoleno logování typu ERROR bool LogIsError() { return(ErrorEnabled); } // Provede logování typu DEBUG // text = Logovaný text void LogDebug(string text) { LogWrite(text, "DEBUG"); } // Provede logování typu WARNING // text = Logovaný text void LogWarning(string text) { LogWrite(text, "WARNING"); } // Provede logování typu ERROR // text = Logovaný text void LogError(string text, int error = 0) { LogWrite(text, "ERROR", error); } // Provede zápis logu // text = Logovaný text // type = Typ logu // error = Číslo chyby void LogWrite(string text, string type, int error = -1) { if(StringLen(FileName) == 0) return; int h = FileOpen(FileName, FILE_CSV|FILE_READ|FILE_WRITE, "\t"); if(h > 0) { FileSeek(h, 0, SEEK_END); FileWrite(h, TimeToStr(TimeLocal()), StringConcatenate("[", type, "]"), text, error); FileClose(h); } }