From 843aa82f3d1921ee5a6fbd52196efb3307bc0349 Mon Sep 17 00:00:00 2001 From: Alexander Sidko Date: Wed, 28 Nov 2018 14:01:24 +0200 Subject: [PATCH 1/2] Use pino-pretty options as PrettyOptions --- types/pino/index.d.ts | 31 ++++++++++++++++++++++++------- types/pino/pino-tests.ts | 13 +++++++++++++ 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/types/pino/index.d.ts b/types/pino/index.d.ts index bea9987832..8efaa85d33 100644 --- a/types/pino/index.d.ts +++ b/types/pino/index.d.ts @@ -5,6 +5,7 @@ // Christian Rackerseder // GP // Alex Ferrando +// Oleksandr Sidko // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -243,13 +244,12 @@ declare namespace P { interface PrettyOptions { /** - * If set to true, it will only covert the unix timestamp to ISO 8601 date format, and reserialize the JSON (equivalent to pino -t). + * Translate the epoch time value into a human readable date and time string. + * This flag also can set the format string to apply when translating the date to human readable format. + * The default format is yyyy-mm-dd HH:MM:ss.l o in UTC. + * For a list of available pattern letters see the {@link https://www.npmjs.com/package/dateformat|dateformat documentation}. */ - timeTransOnly?: boolean; - /** - * A custom function to format the line, is passed the JSON object as an argument and should return a string value. - */ - formatter?(log: LogDescriptor): string; + translateTime?: boolean | string; /** * If set to true, it will print the name of the log level as the first field in the log line. Default: `false`. */ @@ -261,7 +261,24 @@ declare namespace P { /** * If set to true, will add color information to the formatted output message. Default: `false`. */ - forceColor?: boolean; + colorize?: boolean; + /** + * Appends carriage return and line feed, instead of just a line feed, to the formatted log line. + */ + crlf?: boolean; + /** + * Define the log keys that are associated with error like objects. Default: ["err", "error"] + */ + errorLikeObjectKeys?: string[]; + /** + * When formatting an error object, display this list of properties. + * The list should be a comma separated list of properties. Default: '' + */ + errorProps?: string; + /** + * Specify a search pattern according to {@link http://jmespath.org|jmespath} + */ + search?: string; } type Level = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace'; diff --git a/types/pino/pino-tests.ts b/types/pino/pino-tests.ts index d3203b5dd4..56b28d284c 100644 --- a/types/pino/pino-tests.ts +++ b/types/pino/pino-tests.ts @@ -123,3 +123,16 @@ anotherRedacted.info({ msg: 'another logged with redacted properties', anotherPath: 'Not shown' }); + +const pretty = pino({ + prettyPrint: { + colorize: true, + crlf: false, + errorLikeObjectKeys: ['err', 'error'], + errorProps: '', + levelFirst: false, + messageKey: 'msg', + translateTime: 'UTC:h:MM:ss TT Z', + search: 'foo == `bar`' + } +}) From 0bdba525bac419a9a946a0f4753742a73a0d828d Mon Sep 17 00:00:00 2001 From: Alexander Sidko Date: Wed, 28 Nov 2018 14:42:24 +0200 Subject: [PATCH 2/2] Fix pino tests --- types/pino/pino-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/pino/pino-tests.ts b/types/pino/pino-tests.ts index 56b28d284c..3a6283c3e4 100644 --- a/types/pino/pino-tests.ts +++ b/types/pino/pino-tests.ts @@ -135,4 +135,4 @@ const pretty = pino({ translateTime: 'UTC:h:MM:ss TT Z', search: 'foo == `bar`' } -}) +});