index.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. 'use strict';
  2. /*
  3. * @api public
  4. * @property {function} format
  5. * Both the construction method and set of exposed
  6. * formats.
  7. */
  8. const format = exports.format = require('./format');
  9. /*
  10. * @api public
  11. * @method {function} levels
  12. * Registers the specified levels with logform.
  13. */
  14. exports.levels = require('./levels');
  15. /*
  16. * @api private
  17. * method {function} exposeFormat
  18. * Exposes a sub-format on the main format object
  19. * as a lazy-loaded getter.
  20. */
  21. function exposeFormat(name, requireFormat) {
  22. Object.defineProperty(format, name, {
  23. get() {
  24. return requireFormat();
  25. },
  26. configurable: true
  27. });
  28. }
  29. //
  30. // Setup all transports as lazy-loaded getters.
  31. //
  32. exposeFormat('align', function () { return require('./align'); });
  33. exposeFormat('errors', function () { return require('./errors'); });
  34. exposeFormat('cli', function () { return require('./cli'); });
  35. exposeFormat('combine', function () { return require('./combine'); });
  36. exposeFormat('colorize', function () { return require('./colorize'); });
  37. exposeFormat('json', function () { return require('./json'); });
  38. exposeFormat('label', function () { return require('./label'); });
  39. exposeFormat('logstash', function () { return require('./logstash'); });
  40. exposeFormat('metadata', function () { return require('./metadata'); });
  41. exposeFormat('ms', function () { return require('./ms'); });
  42. exposeFormat('padLevels', function () { return require('./pad-levels'); });
  43. exposeFormat('prettyPrint', function () { return require('./pretty-print'); });
  44. exposeFormat('printf', function () { return require('./printf'); });
  45. exposeFormat('simple', function () { return require('./simple'); });
  46. exposeFormat('splat', function () { return require('./splat'); });
  47. exposeFormat('timestamp', function () { return require('./timestamp'); });
  48. exposeFormat('uncolorize', function () { return require('./uncolorize'); });