function typof (v) { var s = Object.prototype.toString.call(v) return s.substring(8, s.length - 1) } export default function formatLog () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key] } var msgs = args.map(function (v) { var type = Object.prototype.toString.call(v) if (type.toLowerCase() === '[object object]') { try { v = '---BEGIN:JSON---' + JSON.stringify(v) + '---END:JSON---' } catch (e) { v = '[object object]' } } else { if (v === null) { v = '---NULL---' } else if (v === undefined) { v = '---UNDEFINED---' } else { var vType = typof(v).toUpperCase() if (vType === 'NUMBER' || vType === 'BOOLEAN') { v = '---BEGIN:' + vType + '---' + v + '---END:' + vType + '---' } else { v = String(v) } } } return v }) var msg = '' if (msgs.length > 1) { var lastMsg = msgs.pop() msg = msgs.join('---COMMA---') if (lastMsg.indexOf(' at ') === 0) { msg += lastMsg } else { msg += '---COMMA---' + lastMsg } } else { msg = msgs[0] } return msg }