/
Logger.ts
103 lines (92 loc) · 1.96 KB
/
Logger.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import { QueryRunner } from "../query-runner/QueryRunner"
/**
* Performs logging of the events in TypeORM.
*/
export interface Logger {
/**
* Logs query and parameters used in it.
*/
logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): any
/**
* Logs query that is failed.
*/
logQueryError(
error: string | Error,
query: string,
parameters?: any[],
queryRunner?: QueryRunner,
): any
/**
* Logs query that is slow.
*/
logQuerySlow(
time: number,
query: string,
parameters?: any[],
queryRunner?: QueryRunner,
): any
/**
* Logs events from the schema build process.
*/
logSchemaBuild(message: string, queryRunner?: QueryRunner): any
/**
* Logs events from the migrations run process.
*/
logMigration(message: string, queryRunner?: QueryRunner): any
/**
* Perform logging using given logger, or by default to the console.
* Log has its own level and message.
*/
log(
level: "log" | "info" | "warn",
message: any,
queryRunner?: QueryRunner,
): any
}
/**
* Log level.
*/
export type LogLevel =
| "query"
| "schema"
| "error"
| "warn"
| "info"
| "log"
| "migration"
/**
* Log message.
*/
export type LogMessage = {
type?: LogMessageType
prefix?: string
message: string | number
format?: LogMessageFormat
parameters?: any[]
additionalInfo?: Record<string, any>
}
/**
* Log message format.
*/
export type LogMessageFormat = "sql"
/**
* Log message type.
*/
export type LogMessageType =
| "log"
| "info"
| "warn"
| "error"
| "query"
| "query-error"
| "query-slow"
| "schema-build"
| "migration"
/**
* Options for prepare log messages
*/
export type PrepareLogMessagesOptions = {
highlightSql: boolean
appendParameterAsComment: boolean
addColonToPrefix: boolean
}