bunyan.d.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. // Type definitions for node-bunyan
  2. // Project: https://github.com/trentm/node-bunyan
  3. // Definitions by: Alex Mikhalev <https://github.com/amikhalev>
  4. // Definitions: https://github.com/borisyankov/DefinitelyTyped
  5. /// <reference path="../node/node.d.ts" />
  6. declare module "bunyan" {
  7. import { EventEmitter } from 'events';
  8. class Logger extends EventEmitter {
  9. constructor(options:LoggerOptions);
  10. addStream(stream:Stream):void;
  11. addSerializers(serializers:Serializers):void;
  12. child(options:LoggerOptions, simple?:boolean):Logger;
  13. child(obj:Object, simple?:boolean):Logger;
  14. reopenFileStreams():void;
  15. level():string|number;
  16. level(value: number | string):void;
  17. levels(name: number | string, value: number | string):void;
  18. trace(error:Error, format?:any, ...params:any[]):void;
  19. trace(buffer:Buffer, format?:any, ...params:any[]):void;
  20. trace(obj:Object, format?:any, ...params:any[]):void;
  21. trace(format:string, ...params:any[]):void;
  22. debug(error:Error, format?:any, ...params:any[]):void;
  23. debug(buffer:Buffer, format?:any, ...params:any[]):void;
  24. debug(obj:Object, format?:any, ...params:any[]):void;
  25. debug(format:string, ...params:any[]):void;
  26. info(error:Error, format?:any, ...params:any[]):void;
  27. info(buffer:Buffer, format?:any, ...params:any[]):void;
  28. info(obj:Object, format?:any, ...params:any[]):void;
  29. info(format:string, ...params:any[]):void;
  30. warn(error:Error, format?:any, ...params:any[]):void;
  31. warn(buffer:Buffer, format?:any, ...params:any[]):void;
  32. warn(obj:Object, format?:any, ...params:any[]):void;
  33. warn(format:string, ...params:any[]):void;
  34. error(error:Error, format?:any, ...params:any[]):void;
  35. error(buffer:Buffer, format?:any, ...params:any[]):void;
  36. error(obj:Object, format?:any, ...params:any[]):void;
  37. error(format:string, ...params:any[]):void;
  38. fatal(error:Error, format?:any, ...params:any[]):void;
  39. fatal(buffer:Buffer, format?:any, ...params:any[]):void;
  40. fatal(obj:Object, format?:any, ...params:any[]):void;
  41. fatal(format:string, ...params:any[]):void;
  42. }
  43. interface LoggerOptions {
  44. name: string;
  45. streams?: Stream[];
  46. level?: string | number;
  47. stream?: NodeJS.WritableStream;
  48. serializers?: Serializers;
  49. src?: boolean;
  50. }
  51. interface Serializers {
  52. [key:string]: (input:any) => string;
  53. }
  54. interface Stream {
  55. type?: string;
  56. level?: number | string;
  57. path?: string;
  58. stream?: NodeJS.WritableStream | Stream;
  59. closeOnExit?: boolean;
  60. period?: string;
  61. count?: number;
  62. }
  63. export var stdSerializers:Serializers;
  64. export var TRACE:number;
  65. export var DEBUG:number;
  66. export var INFO:number;
  67. export var WARN:number;
  68. export var ERROR:number;
  69. export var FATAL:number;
  70. export function resolveLevel(value: number | string):number;
  71. export function createLogger(options:LoggerOptions):Logger;
  72. class RingBuffer extends EventEmitter {
  73. constructor(options:RingBufferOptions);
  74. writable:boolean;
  75. records:any[];
  76. write(record:any):void;
  77. end(record?:any):void;
  78. destroy():void;
  79. destroySoon():void;
  80. }
  81. interface RingBufferOptions {
  82. limit?: number;
  83. }
  84. export function safeCycles():(key:string, value:any) => any;
  85. }