logger.js 915 B

12345678910111213141516171819202122232425262728293031323334
  1. module.exports = {
  2. error: function(msg) {
  3. this._fireEvent('error', msg);
  4. },
  5. warn: function(msg) {
  6. this._fireEvent('warn', msg);
  7. },
  8. info: function(msg) {
  9. this._fireEvent('info', msg);
  10. },
  11. debug: function(msg) {
  12. this._fireEvent('debug', msg);
  13. },
  14. addListener: function(listener) {
  15. this._listeners.push(listener);
  16. },
  17. removeListener: function(listener) {
  18. for (var i = 0; i < this._listeners.length; i++) {
  19. if (this._listeners[i] === listener) {
  20. this._listeners.splice(i, 1);
  21. return;
  22. }
  23. }
  24. },
  25. _fireEvent: function(type, msg) {
  26. for (var i = 0; i < this._listeners.length; i++) {
  27. var logFunction = this._listeners[i][type];
  28. if (logFunction) {
  29. logFunction(msg);
  30. }
  31. }
  32. },
  33. _listeners: []
  34. };