Site logo

Log

Error log function

function ErrorLog(text) {
	var file = new File("~/Desktop/" + scriptName + " - error log.txt");
	file.encoding = "UTF-8";
	
	if (file.exists) {
		file.open("e");
		file.seek(0, 2);
	}
	else {
		file.open("w");
		if (errorsArr.length == 0) file.write("=========================================================\rDate & time: " + GetDate() + "\r=========================================================\r");
	}

	file.write(text + "\r"); 
	file.close();
	errorsArr.push(text);
}

Log message function

function LogMessage(msg) {
	if (log) {
		var file = new File("~/Desktop/" + scriptName + " log.txt");
		file.encoding = "UTF-8";
		
		if (file.exists) {
			file.open("e");
			file.seek(0, 2);
		}
		else {
			file.open("w");
		}
	
		file.write(msg + "\r"); 
		file.close();
	}
}

This function allows logging errors into another file and overwriting the file if it already exists

var scriptName = "Add Alt-Text",
logCount,
log = true,
logOverwrite = true,
debug = true;

Log("Applied Alt-Text: " + thumbnail.name + " | " + altText, false);

try {
	// something goes wrong here
}
catch(err) { 
	Log(err.message + ", line: " + err.line + " in ApplyMetadata", true);
}

function Log(text, err) {
	if (log) {
		if (typeof err == "undefined") err = false;
		if (typeof logOverwrite == "undefined") logOverwrite = false;

		var file = new File("~/Desktop/" + scriptName + " - " + ((err) ? "Error " : "") + "Log.txt");
		
		if (logOverwrite && logCount == 0) {
			if (file.exists) file.remove();
		}
	
		if (logCount == 0) { // add header before the first error during a session
			text = ((file.exists) ? "\r" : "") + "========== " + new Date().toLocaleString() + " ==========\r" + text;
		}

		file.encoding = "UTF-8";

		if (file.exists) {
			file.open("e");
			file.seek(0, 2);
		}
		else {
			file.open("w");
		}

		file.write(text + "\r"); 
		file.close();
		
		logCount++;
	}
}

See also Logging with a smile

extendscript-logger by theasci

extendscript-logger by npm