index.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. 'use strict';
  2. /*
  3. * @api public
  4. * @property {function} format
  5. * Both the construction method and set of exposed
  6. * formats.
  7. */
  8. var 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: function get() {
  24. return requireFormat();
  25. },
  26. configurable: true
  27. });
  28. }
  29. //
  30. // Setup all transports as lazy-loaded getters.
  31. //
  32. exposeFormat('align', function () {
  33. return require('./align');
  34. });
  35. exposeFormat('errors', function () {
  36. return require('./errors');
  37. });
  38. exposeFormat('cli', function () {
  39. return require('./cli');
  40. });
  41. exposeFormat('combine', function () {
  42. return require('./combine');
  43. });
  44. exposeFormat('colorize', function () {
  45. return require('./colorize');
  46. });
  47. exposeFormat('json', function () {
  48. return require('./json');
  49. });
  50. exposeFormat('label', function () {
  51. return require('./label');
  52. });
  53. exposeFormat('logstash', function () {
  54. return require('./logstash');
  55. });
  56. exposeFormat('metadata', function () {
  57. return require('./metadata');
  58. });
  59. exposeFormat('ms', function () {
  60. return require('./ms');
  61. });
  62. exposeFormat('padLevels', function () {
  63. return require('./pad-levels');
  64. });
  65. exposeFormat('prettyPrint', function () {
  66. return require('./pretty-print');
  67. });
  68. exposeFormat('printf', function () {
  69. return require('./printf');
  70. });
  71. exposeFormat('simple', function () {
  72. return require('./simple');
  73. });
  74. exposeFormat('splat', function () {
  75. return require('./splat');
  76. });
  77. exposeFormat('timestamp', function () {
  78. return require('./timestamp');
  79. });
  80. exposeFormat('uncolorize', function () {
  81. return require('./uncolorize');
  82. });