Add logger and some logging statements
issue10943 review387341002
This commit is contained in:
1 parent
09e09c6fb0
commit
51128b0d03
10 files changed
+115
-21
No files matched your search
+9
-2
@@ -37,6 +37,9 @@
|
||||
}
|
||||
if (response.message) {
|
||||
last_message = response.message.message_id;
|
||||
Sao.Logger.info(
|
||||
"poll channels %s with last message",
|
||||
Sao.Bus.channels, last_message);
|
||||
Sao.Bus.handle(response.message);
|
||||
}
|
||||
Sao.Bus.listen(last_message, 1);
|
||||
@@ -49,9 +52,13 @@
|
||||
if (error === "timeout") {
|
||||
Sao.Bus.listen(last_message, 1);
|
||||
} else if (response.status == 501) {
|
||||
console.log("Bus not supported");
|
||||
Sao.Logger.log("Bus not supported");
|
||||
return;
|
||||
} else {
|
||||
Sao.Logger.error(
|
||||
"An exception occured while connection to the bus. " +
|
||||
"Sleeping for %s seconds",
|
||||
wait, error);
|
||||
window.setTimeout(
|
||||
Sao.Bus.listen,
|
||||
Math.min(wait * 1000, Sao.config.bus_timeout),
|
||||
@@ -67,7 +74,7 @@
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
(console.error || console.log).call(console, e, e.stack);
|
||||
Sao.Logger.error(e.message, e.stack);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+8
-2
@@ -3061,7 +3061,10 @@
|
||||
var img_url = this._convert(icon);
|
||||
this.loaded_icons[icon_name] = img_url;
|
||||
return img_url;
|
||||
}.bind(this));
|
||||
}.bind(this))
|
||||
.fail(function() {
|
||||
Sao.error("Unknown icon %s", icon_name);
|
||||
});
|
||||
}
|
||||
}.bind(this));
|
||||
},
|
||||
@@ -3728,7 +3731,10 @@
|
||||
var order = field.get_search_order(record);
|
||||
var sao_model = new Sao.Model(model);
|
||||
return sao_model.execute('search_read',
|
||||
[domain, 0, Sao.config.limit, order, ['rec_name']], context);
|
||||
[domain, 0, Sao.config.limit, order, ['rec_name']], context).fail(function() {
|
||||
Sao.Logger.warning(
|
||||
"Unable to search for completion of %s", model);
|
||||
});
|
||||
};
|
||||
|
||||
Sao.common.Paned = Sao.class_(Object, {
|
||||
|
||||
@@ -50,7 +50,7 @@ SOFTWARE.
|
||||
var iframe = document.createElement('iframe');
|
||||
if (iframe.sandbox === undefined) {
|
||||
// Browser does not support sandboxed iframes
|
||||
console.warn("Your browser do not support sandboxed iframes," +
|
||||
Sao.Logger.warn("Your browser do not support sandboxed iframes," +
|
||||
" unable to sanitize HTML.");
|
||||
return input;
|
||||
}
|
||||
|
||||
+23
-10
@@ -260,10 +260,10 @@
|
||||
return jQuery.when();
|
||||
}
|
||||
var root_group = this.root_group;
|
||||
console.assert(records.every(function(r) {
|
||||
Sao.Logger.assert(records.every(function(r) {
|
||||
return r.model.name == this.model.name;
|
||||
}.bind(this)), 'records not from the same model');
|
||||
console.assert(records.every(function(r) {
|
||||
Sao.Logger.assert(records.every(function(r) {
|
||||
return r.group.root_group == root_group;
|
||||
}), 'records not from the same root group');
|
||||
records = records.filter(function(record) {
|
||||
@@ -1896,10 +1896,17 @@
|
||||
var digits_name = digits_field.description.relation;
|
||||
var digits_id = digits_field.get(record);
|
||||
if (digits_name && (digits_id !== null) && (digits_id >= 0)) {
|
||||
digits = Sao.rpc({
|
||||
'method': 'model.' + digits_name + '.get_digits',
|
||||
'params': [digits_id, {}],
|
||||
}, record.model.session, false);
|
||||
try {
|
||||
digits = Sao.rpc({
|
||||
'method': 'model.' + digits_name + '.get_digits',
|
||||
'params': [digits_id, {}],
|
||||
}, record.model.session, false);
|
||||
} catch(e) {
|
||||
Sao.Logger.warn(
|
||||
"Fail to fetch digits for %s,%s",
|
||||
digits_name, digits_id);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
@@ -1925,10 +1932,16 @@
|
||||
var symbol_name = symbol_field.description.relation;
|
||||
var symbol_id = symbol_field.get(record);
|
||||
if (symbol_name && (symbol_id !== null) && (symbol_id >= 0)) {
|
||||
return Sao.rpc({
|
||||
'method': 'model.' + symbol_name + '.get_symbol',
|
||||
'params': [symbol_id, sign, record.get_context()],
|
||||
}, record.model.session, false) || ['', 1];
|
||||
try {
|
||||
return Sao.rpc({
|
||||
'method': 'model.' + symbol_name + '.get_symbol',
|
||||
'params': [symbol_id, sign, record.get_context()],
|
||||
}, record.model.session, false) || ['', 1];
|
||||
} catch (e) {
|
||||
Sao.Logger.warn(
|
||||
"Fail to fetch symbol for %s,%s",
|
||||
symbol_name, symbol_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ['', 1];
|
||||
|
||||
+42
-1
@@ -175,6 +175,47 @@ var Sao = {};
|
||||
return ClassConstructor;
|
||||
};
|
||||
|
||||
Sao.Logging = Sao.class_(Object, {
|
||||
init: function() {
|
||||
this.level = Sao.Logging.ERROR;
|
||||
},
|
||||
set_level: function(level) {
|
||||
this.level = level;
|
||||
},
|
||||
_log: function(level, logger, args) {
|
||||
if (this.level <= level) {
|
||||
logger.apply(console, args);
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
this._log(Sao.Logging.DEBUG, console.log, arguments);
|
||||
},
|
||||
info: function() {
|
||||
this._log(Sao.Logging.INFO, console.info, arguments);
|
||||
},
|
||||
warn: function() {
|
||||
this._log(Sao.Logging.WARNING, console.warn, arguments);
|
||||
},
|
||||
error: function() {
|
||||
this._log(Sao.Logging.ERROR, console.error, arguments);
|
||||
},
|
||||
critical: function() {
|
||||
this._log(Sao.Logging.CRITICAL, console.error, arguments);
|
||||
},
|
||||
assert: function() {
|
||||
if (this.level <= Sao.Logging.DEBUG) {
|
||||
console.assert.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
});
|
||||
Sao.Logging.CRITICAL = 50;
|
||||
Sao.Logging.ERROR = 40;
|
||||
Sao.Logging.WARNING = 30;
|
||||
Sao.Logging.INFO = 20;
|
||||
Sao.Logging.DEBUG = 10;
|
||||
Sao.Logging.NOTSET = 0;
|
||||
Sao.Logger = new Sao.Logging();
|
||||
|
||||
Sao.Decimal = Number;
|
||||
|
||||
var _moment_to_string = moment.prototype.toString;
|
||||
@@ -1095,7 +1136,7 @@ var Sao = {};
|
||||
try {
|
||||
Notification.requestPermission();
|
||||
} catch (e) {
|
||||
(console.error || console.log).call(console, e, e.stack);
|
||||
Sao.Logger.error(e.message, e.stack);
|
||||
}
|
||||
Sao.login();
|
||||
});
|
||||
|
||||
+12
-1
@@ -2112,6 +2112,11 @@
|
||||
Sao.Session.current_session.cache.clear(
|
||||
'model.ir.ui.view_tree_state.get');
|
||||
};
|
||||
var set_session_fail = function() {
|
||||
Sao.Logger.warn(
|
||||
"Unable to set view tree state for %s",
|
||||
this.model_name);
|
||||
}.bind(this);
|
||||
for (i = 0, len = this.views.length; i < len; i++) {
|
||||
view = this.views[i];
|
||||
if (view.view_type == 'form') {
|
||||
@@ -2152,7 +2157,8 @@
|
||||
view.children_field,
|
||||
JSON.stringify(paths),
|
||||
JSON.stringify(selected_paths)], {})
|
||||
.then(clear_cache);
|
||||
.then(clear_cache)
|
||||
.fail(set_session_fail);
|
||||
prms.push(prm);
|
||||
}
|
||||
}
|
||||
@@ -2208,6 +2214,11 @@
|
||||
}
|
||||
this.tree_states[parent_][view.children_field || null] = state;
|
||||
return state;
|
||||
}.bind(this))
|
||||
.fail(function() {
|
||||
Sao.Logger.warn(
|
||||
"Unable to get view tree state for %s",
|
||||
this.model_name);
|
||||
}.bind(this));
|
||||
} else {
|
||||
state_prm = jQuery.when(state);
|
||||
|
||||
@@ -169,6 +169,9 @@
|
||||
localStorage.setItem(
|
||||
'sao_device_cookies', JSON.stringify(device_cookies));
|
||||
}.bind(this));
|
||||
renew_prm.fail(function() {
|
||||
Sao.error("Cannot renew device cookie");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -427,6 +430,7 @@
|
||||
delete this.store[prefix][key];
|
||||
return undefined;
|
||||
}
|
||||
Sao.Logger.info("(cached)", prefix, key);
|
||||
return Sao.rpc.convertJSONObject(jQuery.parseJSON(data.value));
|
||||
},
|
||||
clear: function(prefix) {
|
||||
|
||||
+1
-1
@@ -1195,7 +1195,7 @@
|
||||
uris = [],
|
||||
texts = [];
|
||||
if (evt.dataTransfer.items) {
|
||||
console.log(evt.dataTransfer.items);
|
||||
Sao.Logger.debug("Attach drop items:", evt.dataTransfer.items);
|
||||
for (i = 0; i < evt.dataTransfer.items.length; i++) {
|
||||
var item = evt.dataTransfer.items[i];
|
||||
if (item.kind == 'string') {
|
||||
|
||||
+9
-2
@@ -2122,7 +2122,10 @@
|
||||
return Sao.rpc({
|
||||
'method': 'model.ir.email.complete',
|
||||
'params': [text, Sao.config.limit, {}],
|
||||
}, this.session);
|
||||
}, this.session)
|
||||
.fail(function() {
|
||||
Sao.Logger.warn("Unable to complete email entry");
|
||||
});
|
||||
},
|
||||
_email_format: function(value) {
|
||||
return value[1];
|
||||
@@ -2233,7 +2236,11 @@
|
||||
'text': attachment.rec_name,
|
||||
}));
|
||||
}.bind(this));
|
||||
}.bind(this));
|
||||
}.bind(this))
|
||||
.fail(function() {
|
||||
Sao.Logger.error(
|
||||
"Could not fetch attachment for", record);
|
||||
});
|
||||
|
||||
this.files = jQuery('<div/>', {
|
||||
'class': 'col-md-4',
|
||||
|
||||
+6
-1
@@ -121,7 +121,12 @@
|
||||
'params': [this.session_id, this.session.context]
|
||||
}, this.session).then(function(action) {
|
||||
this.destroy(action);
|
||||
}.bind(this));
|
||||
}.bind(this))
|
||||
.fail(function() {
|
||||
Sao.Logger.warn(
|
||||
"Unable to delete session %s of wizard %s",
|
||||
this.session_id, this.action);
|
||||
});
|
||||
},
|
||||
clean: function() {
|
||||
this.widget.empty();
|
||||
|
||||
Reference in new issue
Block a user