Prepend error info (except other add-ons info) to debug output

This commit is contained in:
Dan Stillman 2011-11-02 16:07:50 -04:00
parent 9289b7f4e0
commit 25ba8c7006
2 changed files with 38 additions and 19 deletions

View File

@ -136,7 +136,10 @@ Zotero.Debug = new function () {
}
}
return output;
return Zotero.getErrors(true).join('\n\n') +
"\n\n" + Zotero.getSystemInfo() + "\n\n" +
"=========================================================\n\n" +
output;
}

View File

@ -1208,28 +1208,44 @@ const ZOTERO_CONFIG = {
}
/**
* Get versions, platform, etc.
*
* Can be used synchronously or asynchronously; info on other add-ons
* is available only in async mode
*/
function getSystemInfo(callback) {
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"].
getService(Components.interfaces.nsIXULAppInfo);
Zotero.getInstalledExtensions(function(extensions) {
var info = {
version: Zotero.version,
platform: Zotero.platform,
oscpu: Zotero.oscpu,
locale: Zotero.locale,
appName: appInfo.name,
appVersion: appInfo.version,
extensions: extensions.join(', ')
};
var str = '';
for (var key in info) {
str += key + ' => ' + info[key] + ', ';
}
str = str.substr(0, str.length - 2);
callback(str);
});
var info = {
version: Zotero.version,
platform: Zotero.platform,
oscpu: Zotero.oscpu,
locale: Zotero.locale,
appName: appInfo.name,
appVersion: appInfo.version
};
if (callback) {
Zotero.getInstalledExtensions(function(extensions) {
info.extensions = extensions.join(', ');
var str = '';
for (var key in info) {
str += key + ' => ' + info[key] + ', ';
}
str = str.substr(0, str.length - 2);
callback(str);
});
}
var str = '';
for (var key in info) {
str += key + ' => ' + info[key] + ', ';
}
str = str.substr(0, str.length - 2);
return str;
}