diff --git a/bunyan/bunyan-tests.ts b/bunyan/bunyan-tests.ts index 2575f043d8..c44d918d2d 100644 --- a/bunyan/bunyan-tests.ts +++ b/bunyan/bunyan-tests.ts @@ -56,7 +56,20 @@ var options:bunyan.LoggerOptions = { var log = bunyan.createLogger(options); +var customSerializer = function(anything: any) { + return { obj: anything}; +}; + +log.addSerializers({anything: customSerializer}); log.addSerializers(bunyan.stdSerializers); +log.addSerializers( + { + err: bunyan.stdSerializers.err, + req: bunyan.stdSerializers.req, + res: bunyan.stdSerializers.res + } +); + var child = log.child({name: 'child'}); child.reopenFileStreams(); log.addStream({path: '/dev/null'}); diff --git a/bunyan/bunyan.d.ts b/bunyan/bunyan.d.ts index dd569301f5..a4c6c8efc1 100644 --- a/bunyan/bunyan.d.ts +++ b/bunyan/bunyan.d.ts @@ -11,7 +11,7 @@ declare module "bunyan" { class Logger extends EventEmitter { constructor(options:LoggerOptions); addStream(stream:Stream):void; - addSerializers(serializers:Serializers):void; + addSerializers(serializers:Serializers | StdSerializers):void; child(options:LoggerOptions, simple?:boolean):Logger; child(obj:Object, simple?:boolean):Logger; reopenFileStreams():void; @@ -21,7 +21,7 @@ declare module "bunyan" { levels(name: number | string, value: number | string):void; fields:any; - src:boolean; + src:boolean; trace(error:Error, format?:any, ...params:any[]):void; trace(buffer:Buffer, format?:any, ...params:any[]):void; @@ -58,8 +58,18 @@ declare module "bunyan" { src?: boolean; } + interface Serializer { + (input:any): any; + } + interface Serializers { - [key:string]: (input:any) => string; + [key:string]: Serializer; + } + + interface StdSerializers { + err: Serializer; + res: Serializer; + req: Serializer; } interface Stream { @@ -72,7 +82,7 @@ declare module "bunyan" { count?: number; } - export var stdSerializers:Serializers; + export var stdSerializers: StdSerializers; export var TRACE:number; export var DEBUG:number;