Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. import log from 'loglevel';
  2. const message = `
  3. GIVE THIS COMPONENT A NAME:
  4.  
  5. export default {
  6. name: 'A GREAT NAME',
  7. }
  8. `;
  9.  
  10. const originalFactory = log.methodFactory;
  11. log.methodFactory = function loggerFactory(methodName, logLevel, loggerName) {
  12. const rawMethod = originalFactory(methodName, logLevel, loggerName);
  13. const flag = /^_UNNAMED/.test(loggerName);
  14.  
  15. return function logMessage(...messages) {
  16. if (flag) {
  17. log.warn(message);
  18. }
  19.  
  20. rawMethod(`${loggerName}: `, ...messages);
  21. };
  22. };
  23.  
  24. let LEVEL;
  25. if (process.env.LOG_LEVEL) {
  26. LEVEL = process.env.LOG_LEVEL;
  27. log.setDefaultLevel(process.env.LOG_LEVEL);
  28. } else {
  29. if (process.env.NODE_ENV === 'production') {
  30. log.setDefaultLevel(log.levels.ERROR);
  31. LEVEL = log.levels.ERROR;
  32. } else {
  33. log.setDefaultLevel(log.levels.DEBUG);
  34. LEVEL = log.levels.DEBUG;
  35. }
  36. }
  37.  
  38.  
  39. export const logger = {
  40. install(Vue) {
  41. Vue.log = log;
  42. Vue.mixin({
  43. created() {
  44. /* eslint-disable no-underscore-dangle */
  45. this.log = log.getLogger(this.$options.name || `_UNNAMED COMPONENT ${this._uid}`);
  46. /* eslint-enable */
  47.  
  48. if (this.logLevel) {
  49. this.log.setLevel(this.logLevel);
  50. } else {
  51. this.log.setLevel(LEVEL);
  52. }
  53. },
  54. data() {
  55. return {
  56. log: {},
  57. };
  58. },
  59. });
  60. },
  61. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement