Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add libdefs for pinojs v4 * Fix Pino v3 tests
- Loading branch information
Showing
4 changed files
with
245 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
170 changes: 170 additions & 0 deletions
170
definitions/npm/pino_v4.x.x/flow_v0.57.0-/pino_v4.x.x.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
// @flow | ||
|
||
declare module "pino" { | ||
declare type Level = "fatal" | "error" | "warn" | "info" | "debug" | "trace"; | ||
declare type LevelWithSilent = Level | "silent"; | ||
declare type LevelChangeEvent = "level-change"; | ||
declare type LevelChangeEventListener = ( | ||
lvl: LevelWithSilent | string, | ||
val: number, | ||
prevLvl: LevelWithSilent | string, | ||
prevVal: number | ||
) => void; | ||
declare interface LevelMapping { | ||
values: { [level: string]: number }; | ||
labels: { [level: number]: string }; | ||
} | ||
|
||
declare type SerializerFn = (value: any) => any; | ||
declare type WriteFn = (o: {}) => void; | ||
declare type TimeFn = () => string; | ||
declare interface LogFn { | ||
(msg: string, ...args: any[]): void; | ||
(obj: {}, msg?: string, ...args: any[]): void; | ||
} | ||
|
||
declare interface stdSerializers { | ||
req( | ||
req: http$IncomingMessage | ||
): { | ||
method: string, | ||
url: string, | ||
headers: { | ||
host: string, | ||
connection: string | ||
}, | ||
remoteAddress: string, | ||
remotePort: number | ||
}; | ||
|
||
res( | ||
res: http$ServerResponse | ||
): { | ||
statusCode: number, | ||
header: string | ||
}; | ||
|
||
err( | ||
err: Error | ||
): { | ||
type: string, | ||
message: string, | ||
stack: string, | ||
[key: string]: any | ||
}; | ||
} | ||
|
||
declare interface stdTimeFunctions { | ||
epochTime: TimeFn; | ||
unixTime: TimeFn; | ||
slowTime: TimeFn; | ||
nullTime: TimeFn; | ||
} | ||
|
||
declare type Logger = BaseLogger & { [key: string]: LogFn }; | ||
|
||
declare interface BaseLogger { | ||
+pino: string; | ||
+LOG_VERSION: number; | ||
|
||
levels: LevelMapping; | ||
level: LevelWithSilent | string; | ||
levelVal: number; | ||
|
||
addLevel(name: string, lvl: number): boolean; | ||
isLevelEnabled(logLevel: LevelWithSilent | string): boolean; | ||
|
||
on(event: LevelChangeEvent, listener: LevelChangeEventListener): void; | ||
addListener( | ||
event: LevelChangeEvent, | ||
listener: LevelChangeEventListener | ||
): void; | ||
once(event: LevelChangeEvent, listener: LevelChangeEventListener): void; | ||
prependListener( | ||
event: LevelChangeEvent, | ||
listener: LevelChangeEventListener | ||
): void; | ||
prependOnceListener( | ||
event: LevelChangeEvent, | ||
listener: LevelChangeEventListener | ||
): void; | ||
removeListener( | ||
event: LevelChangeEvent, | ||
listener: LevelChangeEventListener | ||
): void; | ||
|
||
child(bindings: { | ||
level?: Level | string, | ||
serializers?: { [key: string]: SerializerFn }, | ||
[key: string]: any | ||
}): Logger; | ||
|
||
fatal: LogFn; | ||
error: LogFn; | ||
warn: LogFn; | ||
info: LogFn; | ||
debug: LogFn; | ||
trace: LogFn; | ||
|
||
flush(): void; | ||
} | ||
|
||
declare interface LoggerOptions { | ||
safe?: boolean; | ||
name?: string; | ||
serializers?: { [key: string]: SerializerFn }; | ||
timestamp?: TimeFn | false; | ||
// @deprecated: This option is scheduled to be removed in Pino 5.0.0 | ||
slowtime?: boolean; | ||
extreme?: boolean; | ||
level?: LevelWithSilent | string; | ||
levelVal?: number; | ||
messageKey?: string; | ||
prettyPrint?: boolean | PrettyOptions; | ||
onTerminated?: (eventName: string, err: any) => void; | ||
enabled?: boolean; | ||
base?: any; | ||
crlf?: boolean; | ||
|
||
browser?: { | ||
asObject?: boolean, | ||
write?: WriteFn | ||
}; | ||
} | ||
|
||
declare interface LogDescriptor { | ||
pid: number; | ||
hostname: string; | ||
level: number; | ||
time: string; | ||
msg: string; | ||
v: number; | ||
[key: string]: any; | ||
} | ||
|
||
declare interface PrettyOptions { | ||
timeTransOnly?: boolean; | ||
formatter?: (log: LogDescriptor) => string; | ||
levelFirst?: boolean; | ||
messageKey?: string; | ||
forceColor?: boolean; | ||
crlf?: boolean; | ||
} | ||
|
||
declare function pretty(options?: PrettyOptions): stream$Transform; | ||
|
||
declare function P( | ||
options: LoggerOptions, | ||
stream: stream$Writable | stream$Duplex | stream$Transform | ||
): Logger; | ||
|
||
declare function P( | ||
optionsOrStream?: | ||
| LoggerOptions | ||
| stream$Writable | ||
| stream$Duplex | ||
| stream$Transform | ||
): Logger; | ||
|
||
declare module.exports: P; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
// @flow | ||
|
||
import pino from "pino"; | ||
import type { Logger } from "pino"; | ||
|
||
const p: Logger = pino(); | ||
|
||
p.info("hello world"); | ||
p.error("this is at error level"); | ||
p.info("the answer is %d", 42); | ||
p.info({ obj: 42 }, "hello world"); | ||
p.info({ obj: 42, b: 2 }, "hello world"); | ||
p.info({ obj: { aa: "bbb" } }, "another"); | ||
setImmediate(p.info, "after setImmediate"); | ||
p.error(new Error("an error")); | ||
|
||
// $ExpectError | ||
p.LOG_VERSION = 10; | ||
|
||
// $ExpectError | ||
p("no log level"); | ||
|
||
const pretty = pino.pretty(); | ||
pretty.pipe(process.stdout); | ||
const log = pino( | ||
{ | ||
name: "app", | ||
safe: true | ||
}, | ||
pretty | ||
); | ||
|
||
log.child({ widget: "foo" }).info("hello"); | ||
log.child({ widget: "bar" }).warn("hello 2"); |