1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| /**
* Logging Class
* @class <b>idsLog</b> contains a JavaScript Loggin Extensions. Include this library and use the idsLog object in your script.<br/><br/><code>#include "idsHelper.jsx"<br/>[...]<br/>_log = idsLog(FILE, "DEBUG")<br/>_log.debug("Log me")</code><br/>
* @param {File} _logFile The Logfile as File-Object.
* @param {String} _logLevel One of the "OFF" "ERROR", "WARN", "INFO", "DEBUG", sets the current Logger to log only Events more or equal severe than the Loglevel.
*/
function Log(_logFile, _logLevel) {
// private var
var info_str = {en: "Info", fr: "Information"};
var warn_str = {en: "Warning", fr: "Avertissement"};
var error_str = {en: "Error", fr: "Erreur"};
var consult_log_file_str = {en: "for more informations read the log file", fr: "pour plus d'informations consultez le fichier log"};
var logFile = _logFile;
var SEVERITY = [];
SEVERITY["OFF"] = 4;
SEVERITY["ERROR"] = 3;
SEVERITY["WARN"] = 2;
SEVERITY["INFO"] = 1;
SEVERITY["DEBUG"] = 0;
var logLevel = (_logLevel == undefined) ? 0 : SEVERITY[_logLevel];
// private function
function writeLog(_message, _severity) {
logFile.open("e");
logFile.seek(logFile.length);
try {
logFile.writeln(Date() + " [" + _severity + "] " + ((_severity.length == 4) ? " [" : "[") + app.activeScript.name + "] " + _message);
} catch (e) {
//We're running from ESTK
logFile.writeln(Date() + " [" + _severity + "] " + ((_severity.length == 4) ? " [" : "[") + "ESTK] " + _message);
}
logFile.close();
};
/**
* Writes a debug log message
* @param {String} _message Message to log.
*/
this.debug = function(_message) {
if (logLevel <= 0) writeLog(_message, "DEBUG");
};
/**
* Writes a info log message
* @param {String} _message Message to log.
*/
this.info = function (_message) {
if (logLevel <= 1) writeLog(_message, "INFO");
};
this.infoAlert = function (_message) {
if (logLevel <= 1){
writeLog(_message, "INFO");
alert (localize(info_str) + "\n" + _message + "\n\n" + localize(consult_log_file_str) + ":\n" + logFile);
}
};
/**
* Writes a warn log message
* @param {String} _message Message to log.
*/
this.warn = function (_message) {
if (logLevel <= 2) writeLog(_message, "WARN");
};
/**
* Writes a warn log message und displays an Alert-Window
* @param {String} _message Message to log.
*/
this.warnAlert = function (_message) {
if (logLevel <= 2) {
writeLog(_message, "WARN");
alert (localize(warn_str) + "\n" + _message + "\n\n" + localize(consult_log_file_str) + ":\n" + logFile);
}
};
/**
* Writes a warn log message
* @param {String} _message Message to log.
*/
this.error = function (_message) {
if (logLevel <= 3) writeLog(_message, "ERROR");
};
this.errorAlert = function (_message) {
if (logLevel <= 3) {
writeLog(_message, "ERROR");
alert (localize(error_str) + "\n" + _message + "\n\n" + localize(consult_log_file_str) + ":\n" + logFile);
}
};
} |
Partager