typeorm 0.3.12-dev.0eb7441 → 0.3.12-dev.12fdd73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +6 -0
  2. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  3. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +3 -1
  4. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  5. package/browser/driver/mongodb/MongoDriver.d.ts +1 -1
  6. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  7. package/browser/driver/oracle/OracleDriver.d.ts +1 -1
  8. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  9. package/browser/driver/postgres/PostgresQueryRunner.js +1 -1
  10. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  11. package/browser/driver/sap/SapDriver.d.ts +1 -1
  12. package/browser/driver/sap/SapDriver.js.map +1 -1
  13. package/browser/driver/spanner/SpannerDriver.d.ts +1 -1
  14. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  15. package/browser/driver/sqlserver/SqlServerDriver.d.ts +1 -1
  16. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  17. package/browser/find-options/FindOperatorType.d.ts +1 -1
  18. package/browser/find-options/FindOperatorType.js.map +1 -1
  19. package/browser/find-options/operator/JsonContains.d.ts +6 -0
  20. package/browser/find-options/operator/JsonContains.js +10 -0
  21. package/browser/find-options/operator/JsonContains.js.map +1 -0
  22. package/browser/index.d.ts +2 -0
  23. package/browser/index.js +2 -0
  24. package/browser/index.js.map +1 -1
  25. package/browser/logger/AbstractLogger.d.ts +49 -0
  26. package/browser/logger/AbstractLogger.js +230 -0
  27. package/browser/logger/AbstractLogger.js.map +1 -0
  28. package/browser/logger/AdvancedConsoleLogger.d.ts +5 -33
  29. package/browser/logger/AdvancedConsoleLogger.js +41 -106
  30. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  31. package/browser/logger/DebugLogger.d.ts +9 -29
  32. package/browser/logger/DebugLogger.js +56 -74
  33. package/browser/logger/DebugLogger.js.map +1 -1
  34. package/browser/logger/FileLogger.d.ts +6 -32
  35. package/browser/logger/FileLogger.js +50 -97
  36. package/browser/logger/FileLogger.js.map +1 -1
  37. package/browser/logger/Logger.d.ts +31 -0
  38. package/browser/logger/Logger.js.map +1 -1
  39. package/browser/logger/LoggerOptions.d.ts +2 -1
  40. package/browser/logger/LoggerOptions.js.map +1 -1
  41. package/browser/logger/SimpleConsoleLogger.d.ts +5 -33
  42. package/browser/logger/SimpleConsoleLogger.js +43 -106
  43. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  44. package/browser/persistence/SubjectTopoligicalSorter.js +2 -6
  45. package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
  46. package/browser/platform/PlatformTools.d.ts +2 -0
  47. package/browser/platform/PlatformTools.js +6 -0
  48. package/browser/platform/PlatformTools.js.map +1 -1
  49. package/browser/query-builder/QueryBuilder.js +2 -0
  50. package/browser/query-builder/QueryBuilder.js.map +1 -1
  51. package/browser/query-builder/WhereClause.d.ts +1 -1
  52. package/browser/query-builder/WhereClause.js.map +1 -1
  53. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +6 -0
  54. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  55. package/driver/better-sqlite3/BetterSqlite3Driver.js +3 -1
  56. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  57. package/driver/mongodb/MongoDriver.d.ts +1 -1
  58. package/driver/mongodb/MongoDriver.js.map +1 -1
  59. package/driver/oracle/OracleDriver.d.ts +1 -1
  60. package/driver/oracle/OracleDriver.js.map +1 -1
  61. package/driver/postgres/PostgresQueryRunner.js +1 -1
  62. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  63. package/driver/sap/SapDriver.d.ts +1 -1
  64. package/driver/sap/SapDriver.js.map +1 -1
  65. package/driver/spanner/SpannerDriver.d.ts +1 -1
  66. package/driver/spanner/SpannerDriver.js.map +1 -1
  67. package/driver/sqlserver/SqlServerDriver.d.ts +1 -1
  68. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  69. package/find-options/FindOperatorType.d.ts +1 -1
  70. package/find-options/FindOperatorType.js.map +1 -1
  71. package/find-options/operator/JsonContains.d.ts +6 -0
  72. package/find-options/operator/JsonContains.js +14 -0
  73. package/find-options/operator/JsonContains.js.map +1 -0
  74. package/index.d.ts +2 -0
  75. package/index.js +2 -0
  76. package/index.js.map +1 -1
  77. package/index.mjs +4 -0
  78. package/logger/AbstractLogger.d.ts +49 -0
  79. package/logger/AbstractLogger.js +234 -0
  80. package/logger/AbstractLogger.js.map +1 -0
  81. package/logger/AdvancedConsoleLogger.d.ts +5 -33
  82. package/logger/AdvancedConsoleLogger.js +41 -106
  83. package/logger/AdvancedConsoleLogger.js.map +1 -1
  84. package/logger/DebugLogger.d.ts +9 -29
  85. package/logger/DebugLogger.js +56 -75
  86. package/logger/DebugLogger.js.map +1 -1
  87. package/logger/FileLogger.d.ts +6 -32
  88. package/logger/FileLogger.js +50 -97
  89. package/logger/FileLogger.js.map +1 -1
  90. package/logger/Logger.d.ts +31 -0
  91. package/logger/Logger.js.map +1 -1
  92. package/logger/LoggerOptions.d.ts +2 -1
  93. package/logger/LoggerOptions.js.map +1 -1
  94. package/logger/SimpleConsoleLogger.d.ts +5 -33
  95. package/logger/SimpleConsoleLogger.js +43 -106
  96. package/logger/SimpleConsoleLogger.js.map +1 -1
  97. package/package.json +1 -1
  98. package/persistence/SubjectTopoligicalSorter.js +2 -6
  99. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  100. package/platform/PlatformTools.d.ts +2 -0
  101. package/platform/PlatformTools.js +6 -0
  102. package/platform/PlatformTools.js.map +1 -1
  103. package/query-builder/QueryBuilder.js +2 -0
  104. package/query-builder/QueryBuilder.js.map +1 -1
  105. package/query-builder/WhereClause.d.ts +1 -1
  106. package/query-builder/WhereClause.js.map +1 -1
@@ -0,0 +1,230 @@
1
+ import { PlatformTools } from "../platform/PlatformTools";
2
+ export class AbstractLogger {
3
+ // -------------------------------------------------------------------------
4
+ // Constructor
5
+ // -------------------------------------------------------------------------
6
+ constructor(options) {
7
+ this.options = options;
8
+ }
9
+ // -------------------------------------------------------------------------
10
+ // Public Methods
11
+ // -------------------------------------------------------------------------
12
+ /**
13
+ * Logs query and parameters used in it.
14
+ */
15
+ logQuery(query, parameters, queryRunner) {
16
+ if (!this.isLogEnabledFor("query")) {
17
+ return;
18
+ }
19
+ this.writeLog("query", {
20
+ type: "query",
21
+ prefix: "query",
22
+ message: query,
23
+ format: "sql",
24
+ parameters,
25
+ }, queryRunner);
26
+ }
27
+ /**
28
+ * Logs query that is failed.
29
+ */
30
+ logQueryError(error, query, parameters, queryRunner) {
31
+ if (!this.isLogEnabledFor("query-error")) {
32
+ return;
33
+ }
34
+ this.writeLog("warn", [
35
+ {
36
+ type: "query-error",
37
+ prefix: "query failed",
38
+ message: query,
39
+ format: "sql",
40
+ parameters,
41
+ },
42
+ {
43
+ type: "query-error",
44
+ prefix: "error",
45
+ message: error,
46
+ },
47
+ ], queryRunner);
48
+ }
49
+ /**
50
+ * Logs query that is slow.
51
+ */
52
+ logQuerySlow(time, query, parameters, queryRunner) {
53
+ if (!this.isLogEnabledFor("query-slow")) {
54
+ return;
55
+ }
56
+ this.writeLog("warn", [
57
+ {
58
+ type: "query-slow",
59
+ prefix: "query is slow",
60
+ message: query,
61
+ format: "sql",
62
+ parameters,
63
+ additionalInfo: {
64
+ time,
65
+ },
66
+ },
67
+ {
68
+ type: "query-slow",
69
+ prefix: "execution time",
70
+ message: time,
71
+ },
72
+ ], queryRunner);
73
+ }
74
+ /**
75
+ * Logs events from the schema build process.
76
+ */
77
+ logSchemaBuild(message, queryRunner) {
78
+ if (!this.isLogEnabledFor("schema-build")) {
79
+ return;
80
+ }
81
+ this.writeLog("schema", {
82
+ type: "schema-build",
83
+ message,
84
+ }, queryRunner);
85
+ }
86
+ /**
87
+ * Logs events from the migration run process.
88
+ */
89
+ logMigration(message, queryRunner) {
90
+ if (this.isLogEnabledFor("migration")) {
91
+ return;
92
+ }
93
+ this.writeLog("log", {
94
+ type: "migration",
95
+ message,
96
+ }, queryRunner);
97
+ }
98
+ /**
99
+ * Perform logging using given logger, or by default to the console.
100
+ * Log has its own level and message.
101
+ */
102
+ log(level, message, queryRunner) {
103
+ switch (level) {
104
+ case "log":
105
+ if (!this.isLogEnabledFor("log")) {
106
+ return;
107
+ }
108
+ this.writeLog("log", {
109
+ type: "log",
110
+ message,
111
+ }, queryRunner);
112
+ break;
113
+ case "info":
114
+ if (!this.isLogEnabledFor("info")) {
115
+ return;
116
+ }
117
+ this.writeLog("info", {
118
+ type: "info",
119
+ prefix: "info",
120
+ message,
121
+ }, queryRunner);
122
+ break;
123
+ case "warn":
124
+ if (!this.isLogEnabledFor("warn")) {
125
+ return;
126
+ }
127
+ this.writeLog("warn", {
128
+ type: "warn",
129
+ message,
130
+ }, queryRunner);
131
+ break;
132
+ }
133
+ }
134
+ // -------------------------------------------------------------------------
135
+ // Protected Methods
136
+ // -------------------------------------------------------------------------
137
+ /**
138
+ * Check is logging for level or message type is enabled.
139
+ */
140
+ isLogEnabledFor(type) {
141
+ switch (type) {
142
+ case "query":
143
+ return (this.options === "all" ||
144
+ this.options === true ||
145
+ (Array.isArray(this.options) &&
146
+ this.options.indexOf("query") !== -1));
147
+ case "error":
148
+ case "query-error":
149
+ return (this.options === "all" ||
150
+ this.options === true ||
151
+ (Array.isArray(this.options) &&
152
+ this.options.indexOf("error") !== -1));
153
+ case "query-slow":
154
+ return true;
155
+ case "schema":
156
+ case "schema-build":
157
+ return (this.options === "all" ||
158
+ (Array.isArray(this.options) &&
159
+ this.options.indexOf("schema") !== -1));
160
+ case "migration":
161
+ return true;
162
+ case "log":
163
+ return (this.options === "all" ||
164
+ (Array.isArray(this.options) &&
165
+ this.options.indexOf("log") !== -1));
166
+ case "info":
167
+ return (this.options === "all" ||
168
+ (Array.isArray(this.options) &&
169
+ this.options.indexOf("info") !== -1));
170
+ case "warn":
171
+ return (this.options === "all" ||
172
+ (Array.isArray(this.options) &&
173
+ this.options.indexOf("warn") !== -1));
174
+ default:
175
+ return false;
176
+ }
177
+ }
178
+ /**
179
+ * Prepare and format log messages
180
+ */
181
+ prepareLogMessages(logMessage, options) {
182
+ options = {
183
+ ...{
184
+ addColonToPrefix: true,
185
+ appendParameterAsComment: true,
186
+ highlightSql: true,
187
+ },
188
+ ...options,
189
+ };
190
+ const messages = Array.isArray(logMessage) ? logMessage : [logMessage];
191
+ for (let message of messages) {
192
+ if (typeof message !== "object") {
193
+ message = {
194
+ message,
195
+ };
196
+ }
197
+ if (message.format === "sql") {
198
+ let sql = String(message.message);
199
+ if (options.appendParameterAsComment &&
200
+ message.parameters &&
201
+ message.parameters.length) {
202
+ sql += ` -- PARAMETERS: ${this.stringifyParams(message.parameters)}`;
203
+ }
204
+ if (options.highlightSql) {
205
+ sql = PlatformTools.highlightSql(sql);
206
+ }
207
+ message.message = sql;
208
+ }
209
+ if (options.addColonToPrefix && message.prefix) {
210
+ message.prefix += ":";
211
+ }
212
+ }
213
+ return messages;
214
+ }
215
+ /**
216
+ * Converts parameters to a string.
217
+ * Sometimes parameters can have circular objects and therefor we are handle this case too.
218
+ */
219
+ stringifyParams(parameters) {
220
+ try {
221
+ return JSON.stringify(parameters);
222
+ }
223
+ catch (error) {
224
+ // most probably circular objects in parameters
225
+ return parameters;
226
+ }
227
+ }
228
+ }
229
+
230
+ //# sourceMappingURL=AbstractLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../browser/src/logger/AbstractLogger.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,MAAM,OAAgB,cAAc;IAChC,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,YAAsB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAEjD,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACH,QAAQ,CAAC,KAAa,EAAE,UAAkB,EAAE,WAAyB;QACjE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;YAChC,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,CACT,OAAO,EACP;YACI,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,UAAU;SACb,EACD,WAAW,CACd,CAAA;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CACT,KAAa,EACb,KAAa,EACb,UAAkB,EAClB,WAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;YACtC,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,CACT,MAAM,EACN;YACI;gBACI,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;gBACb,UAAU;aACb;YACD;gBACI,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,KAAK;aACjB;SACJ,EACD,WAAW,CACd,CAAA;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CACR,IAAY,EACZ,KAAa,EACb,UAAkB,EAClB,WAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;YACrC,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,CACT,MAAM,EACN;YACI;gBACI,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;gBACb,UAAU;gBACV,cAAc,EAAE;oBACZ,IAAI;iBACP;aACJ;YACD;gBACI,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,IAAI;aAChB;SACJ,EACD,WAAW,CACd,CAAA;IACL,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAe,EAAE,WAAyB;QACrD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE;YACvC,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,CACT,QAAQ,EACR;YACI,IAAI,EAAE,cAAc;YACpB,OAAO;SACV,EACD,WAAW,CACd,CAAA;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,WAAyB;QACnD,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE;YACnC,OAAM;SACT;QAED,IAAI,CAAC,QAAQ,CACT,KAAK,EACL;YACI,IAAI,EAAE,WAAW;YACjB,OAAO;SACV,EACD,WAAW,CACd,CAAA;IACL,CAAC;IAED;;;OAGG;IACH,GAAG,CACC,KAA8B,EAC9B,OAAY,EACZ,WAAyB;QAEzB,QAAQ,KAAK,EAAE;YACX,KAAK,KAAK;gBACN,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;oBAC9B,OAAM;iBACT;gBAED,IAAI,CAAC,QAAQ,CACT,KAAK,EACL;oBACI,IAAI,EAAE,KAAK;oBACX,OAAO;iBACV,EACD,WAAW,CACd,CAAA;gBACD,MAAK;YAET,KAAK,MAAM;gBACP,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;oBAC/B,OAAM;iBACT;gBAED,IAAI,CAAC,QAAQ,CACT,MAAM,EACN;oBACI,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,MAAM;oBACd,OAAO;iBACV,EACD,WAAW,CACd,CAAA;gBACD,MAAK;YAET,KAAK,MAAM;gBACP,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;oBAC/B,OAAM;iBACT;gBAED,IAAI,CAAC,QAAQ,CACT,MAAM,EACN;oBACI,IAAI,EAAE,MAAM;oBACZ,OAAO;iBACV,EACD,WAAW,CACd,CAAA;gBACD,MAAK;SACZ;IACL,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,eAAe,CAAC,IAAgC;QACtD,QAAQ,IAAI,EAAE;YACV,KAAK,OAAO;gBACR,OAAO,CACH,IAAI,CAAC,OAAO,KAAK,KAAK;oBACtB,IAAI,CAAC,OAAO,KAAK,IAAI;oBACrB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAC5C,CAAA;YAEL,KAAK,OAAO,CAAC;YACb,KAAK,aAAa;gBACd,OAAO,CACH,IAAI,CAAC,OAAO,KAAK,KAAK;oBACtB,IAAI,CAAC,OAAO,KAAK,IAAI;oBACrB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAC5C,CAAA;YAEL,KAAK,YAAY;gBACb,OAAO,IAAI,CAAA;YAEf,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc;gBACf,OAAO,CACH,IAAI,CAAC,OAAO,KAAK,KAAK;oBACtB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7C,CAAA;YAEL,KAAK,WAAW;gBACZ,OAAO,IAAI,CAAA;YAEf,KAAK,KAAK;gBACN,OAAO,CACH,IAAI,CAAC,OAAO,KAAK,KAAK;oBACtB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1C,CAAA;YAEL,KAAK,MAAM;gBACP,OAAO,CACH,IAAI,CAAC,OAAO,KAAK,KAAK;oBACtB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3C,CAAA;YAEL,KAAK,MAAM;gBACP,OAAO,CACH,IAAI,CAAC,OAAO,KAAK,KAAK;oBACtB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3C,CAAA;YAEL;gBACI,OAAO,KAAK,CAAA;SACnB;IACL,CAAC;IAeD;;OAEG;IACO,kBAAkB,CACxB,UAIsC,EACtC,OAA4C;QAE5C,OAAO,GAAG;YACN,GAAG;gBACC,gBAAgB,EAAE,IAAI;gBACtB,wBAAwB,EAAE,IAAI;gBAC9B,YAAY,EAAE,IAAI;aACrB;YACD,GAAG,OAAO;SACb,CAAA;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAEtE,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,OAAO,GAAG;oBACN,OAAO;iBACV,CAAA;aACJ;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;gBAC1B,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAEjC,IACI,OAAO,CAAC,wBAAwB;oBAChC,OAAO,CAAC,UAAU;oBAClB,OAAO,CAAC,UAAU,CAAC,MAAM,EAC3B;oBACE,GAAG,IAAI,mBAAmB,IAAI,CAAC,eAAe,CAC1C,OAAO,CAAC,UAAU,CACrB,EAAE,CAAA;iBACN;gBAED,IAAI,OAAO,CAAC,YAAY,EAAE;oBACtB,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;iBACxC;gBAED,OAAO,CAAC,OAAO,GAAG,GAAG,CAAA;aACxB;YAED,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE;gBAC5C,OAAO,CAAC,MAAM,IAAI,GAAG,CAAA;aACxB;SACJ;QAED,OAAO,QAAwB,CAAA;IACnC,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,UAAiB;QACvC,IAAI;YACA,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;SACpC;QAAC,OAAO,KAAK,EAAE;YACZ,+CAA+C;YAC/C,OAAO,UAAU,CAAA;SACpB;IACL,CAAC;CACJ","file":"AbstractLogger.js","sourcesContent":["import {\n Logger,\n LogLevel,\n LogMessage,\n LogMessageType,\n PrepareLogMessagesOptions,\n} from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { LoggerOptions } from \"./LoggerOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\n\nexport abstract class AbstractLogger implements Logger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected options?: LoggerOptions) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"query\")) {\n return\n }\n\n this.writeLog(\n \"query\",\n {\n type: \"query\",\n prefix: \"query\",\n message: query,\n format: \"sql\",\n parameters,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs query that is failed.\n */\n logQueryError(\n error: string,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-error\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-error\",\n prefix: \"query failed\",\n message: query,\n format: \"sql\",\n parameters,\n },\n {\n type: \"query-error\",\n prefix: \"error\",\n message: error,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(\n time: number,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (!this.isLogEnabledFor(\"query-slow\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n [\n {\n type: \"query-slow\",\n prefix: \"query is slow\",\n message: query,\n format: \"sql\",\n parameters,\n additionalInfo: {\n time,\n },\n },\n {\n type: \"query-slow\",\n prefix: \"execution time\",\n message: time,\n },\n ],\n queryRunner,\n )\n }\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner) {\n if (!this.isLogEnabledFor(\"schema-build\")) {\n return\n }\n\n this.writeLog(\n \"schema\",\n {\n type: \"schema-build\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Logs events from the migration run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner) {\n if (this.isLogEnabledFor(\"migration\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"migration\",\n message,\n },\n queryRunner,\n )\n }\n\n /**\n * Perform logging using given logger, or by default to the console.\n * Log has its own level and message.\n */\n log(\n level: \"log\" | \"info\" | \"warn\",\n message: any,\n queryRunner?: QueryRunner,\n ) {\n switch (level) {\n case \"log\":\n if (!this.isLogEnabledFor(\"log\")) {\n return\n }\n\n this.writeLog(\n \"log\",\n {\n type: \"log\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"info\":\n if (!this.isLogEnabledFor(\"info\")) {\n return\n }\n\n this.writeLog(\n \"info\",\n {\n type: \"info\",\n prefix: \"info\",\n message,\n },\n queryRunner,\n )\n break\n\n case \"warn\":\n if (!this.isLogEnabledFor(\"warn\")) {\n return\n }\n\n this.writeLog(\n \"warn\",\n {\n type: \"warn\",\n message,\n },\n queryRunner,\n )\n break\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Check is logging for level or message type is enabled.\n */\n protected isLogEnabledFor(type?: LogLevel | LogMessageType) {\n switch (type) {\n case \"query\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"query\") !== -1)\n )\n\n case \"error\":\n case \"query-error\":\n return (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"error\") !== -1)\n )\n\n case \"query-slow\":\n return true\n\n case \"schema\":\n case \"schema-build\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"schema\") !== -1)\n )\n\n case \"migration\":\n return true\n\n case \"log\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"log\") !== -1)\n )\n\n case \"info\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"info\") !== -1)\n )\n\n case \"warn\":\n return (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"warn\") !== -1)\n )\n\n default:\n return false\n }\n }\n\n /**\n * Write log to specific output.\n */\n protected abstract writeLog(\n level: LogLevel,\n message:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n queryRunner?: QueryRunner,\n ): void\n\n /**\n * Prepare and format log messages\n */\n protected prepareLogMessages(\n logMessage:\n | LogMessage\n | string\n | number\n | (LogMessage | string | number)[],\n options?: Partial<PrepareLogMessagesOptions>,\n ): LogMessage[] {\n options = {\n ...{\n addColonToPrefix: true,\n appendParameterAsComment: true,\n highlightSql: true,\n },\n ...options,\n }\n const messages = Array.isArray(logMessage) ? logMessage : [logMessage]\n\n for (let message of messages) {\n if (typeof message !== \"object\") {\n message = {\n message,\n }\n }\n\n if (message.format === \"sql\") {\n let sql = String(message.message)\n\n if (\n options.appendParameterAsComment &&\n message.parameters &&\n message.parameters.length\n ) {\n sql += ` -- PARAMETERS: ${this.stringifyParams(\n message.parameters,\n )}`\n }\n\n if (options.highlightSql) {\n sql = PlatformTools.highlightSql(sql)\n }\n\n message.message = sql\n }\n\n if (options.addColonToPrefix && message.prefix) {\n message.prefix += \":\"\n }\n }\n\n return messages as LogMessage[]\n }\n\n /**\n * Converts parameters to a string.\n * Sometimes parameters can have circular objects and therefor we are handle this case too.\n */\n protected stringifyParams(parameters: any[]) {\n try {\n return JSON.stringify(parameters)\n } catch (error) {\n // most probably circular objects in parameters\n return parameters\n }\n }\n}\n"],"sourceRoot":".."}
@@ -1,41 +1,13 @@
1
- import { LoggerOptions } from "./LoggerOptions";
1
+ import { AbstractLogger } from "./AbstractLogger";
2
+ import { LogLevel, LogMessage } from "./Logger";
2
3
  import { QueryRunner } from "../query-runner/QueryRunner";
3
- import { Logger } from "./Logger";
4
4
  /**
5
5
  * Performs logging of the events in TypeORM.
6
6
  * This version of logger uses console to log events and use syntax highlighting.
7
7
  */
8
- export declare class AdvancedConsoleLogger implements Logger {
9
- private options?;
10
- constructor(options?: LoggerOptions | undefined);
8
+ export declare class AdvancedConsoleLogger extends AbstractLogger {
11
9
  /**
12
- * Logs query and parameters used in it.
10
+ * Write log to specific output.
13
11
  */
14
- logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): void;
15
- /**
16
- * Logs query that is failed.
17
- */
18
- logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner): void;
19
- /**
20
- * Logs query that is slow.
21
- */
22
- logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): void;
23
- /**
24
- * Logs events from the schema build process.
25
- */
26
- logSchemaBuild(message: string, queryRunner?: QueryRunner): void;
27
- /**
28
- * Logs events from the migration run process.
29
- */
30
- logMigration(message: string, queryRunner?: QueryRunner): void;
31
- /**
32
- * Perform logging using given logger, or by default to the console.
33
- * Log has its own level and message.
34
- */
35
- log(level: "log" | "info" | "warn", message: any, queryRunner?: QueryRunner): void;
36
- /**
37
- * Converts parameters to a string.
38
- * Sometimes parameters can have circular objects and therefore we are handle this case too.
39
- */
40
- protected stringifyParams(parameters: any[]): string | any[];
12
+ protected writeLog(level: LogLevel, logMessage: LogMessage | LogMessage[], queryRunner?: QueryRunner): void;
41
13
  }
@@ -1,116 +1,51 @@
1
1
  import { PlatformTools } from "../platform/PlatformTools";
2
+ import { AbstractLogger } from "./AbstractLogger";
2
3
  /**
3
4
  * Performs logging of the events in TypeORM.
4
5
  * This version of logger uses console to log events and use syntax highlighting.
5
6
  */
6
- export class AdvancedConsoleLogger {
7
- // -------------------------------------------------------------------------
8
- // Constructor
9
- // -------------------------------------------------------------------------
10
- constructor(options) {
11
- this.options = options;
12
- }
13
- // -------------------------------------------------------------------------
14
- // Public Methods
15
- // -------------------------------------------------------------------------
16
- /**
17
- * Logs query and parameters used in it.
18
- */
19
- logQuery(query, parameters, queryRunner) {
20
- if (this.options === "all" ||
21
- this.options === true ||
22
- (Array.isArray(this.options) &&
23
- this.options.indexOf("query") !== -1)) {
24
- const sql = query +
25
- (parameters && parameters.length
26
- ? " -- PARAMETERS: " + this.stringifyParams(parameters)
27
- : "");
28
- PlatformTools.logInfo("query:", PlatformTools.highlightSql(sql));
29
- }
30
- }
31
- /**
32
- * Logs query that is failed.
33
- */
34
- logQueryError(error, query, parameters, queryRunner) {
35
- if (this.options === "all" ||
36
- this.options === true ||
37
- (Array.isArray(this.options) &&
38
- this.options.indexOf("error") !== -1)) {
39
- const sql = query +
40
- (parameters && parameters.length
41
- ? " -- PARAMETERS: " + this.stringifyParams(parameters)
42
- : "");
43
- PlatformTools.logError(`query failed:`, PlatformTools.highlightSql(sql));
44
- PlatformTools.logError(`error:`, error);
45
- }
46
- }
47
- /**
48
- * Logs query that is slow.
49
- */
50
- logQuerySlow(time, query, parameters, queryRunner) {
51
- const sql = query +
52
- (parameters && parameters.length
53
- ? " -- PARAMETERS: " + this.stringifyParams(parameters)
54
- : "");
55
- PlatformTools.logWarn(`query is slow:`, PlatformTools.highlightSql(sql));
56
- PlatformTools.logWarn(`execution time:`, time);
57
- }
7
+ export class AdvancedConsoleLogger extends AbstractLogger {
58
8
  /**
59
- * Logs events from the schema build process.
9
+ * Write log to specific output.
60
10
  */
61
- logSchemaBuild(message, queryRunner) {
62
- if (this.options === "all" ||
63
- (Array.isArray(this.options) &&
64
- this.options.indexOf("schema") !== -1)) {
65
- PlatformTools.log(message);
66
- }
67
- }
68
- /**
69
- * Logs events from the migration run process.
70
- */
71
- logMigration(message, queryRunner) {
72
- PlatformTools.log(message);
73
- }
74
- /**
75
- * Perform logging using given logger, or by default to the console.
76
- * Log has its own level and message.
77
- */
78
- log(level, message, queryRunner) {
79
- switch (level) {
80
- case "log":
81
- if (this.options === "all" ||
82
- (Array.isArray(this.options) &&
83
- this.options.indexOf("log") !== -1))
84
- PlatformTools.log(message);
85
- break;
86
- case "info":
87
- if (this.options === "all" ||
88
- (Array.isArray(this.options) &&
89
- this.options.indexOf("info") !== -1))
90
- PlatformTools.logInfo("INFO:", message);
91
- break;
92
- case "warn":
93
- if (this.options === "all" ||
94
- (Array.isArray(this.options) &&
95
- this.options.indexOf("warn") !== -1))
96
- console.warn(PlatformTools.warn(message));
97
- break;
98
- }
99
- }
100
- // -------------------------------------------------------------------------
101
- // Protected Methods
102
- // -------------------------------------------------------------------------
103
- /**
104
- * Converts parameters to a string.
105
- * Sometimes parameters can have circular objects and therefore we are handle this case too.
106
- */
107
- stringifyParams(parameters) {
108
- try {
109
- return JSON.stringify(parameters);
110
- }
111
- catch (error) {
112
- // most probably circular objects in parameters
113
- return parameters;
11
+ writeLog(level, logMessage, queryRunner) {
12
+ var _a;
13
+ const messages = this.prepareLogMessages(logMessage);
14
+ for (let message of messages) {
15
+ switch ((_a = message.type) !== null && _a !== void 0 ? _a : level) {
16
+ case "log":
17
+ case "schema-build":
18
+ case "migration":
19
+ PlatformTools.log(String(message.message));
20
+ break;
21
+ case "info":
22
+ case "query":
23
+ if (message.prefix) {
24
+ PlatformTools.logInfo(message.prefix, message.message);
25
+ }
26
+ else {
27
+ PlatformTools.log(String(message.message));
28
+ }
29
+ break;
30
+ case "warn":
31
+ case "query-slow":
32
+ if (message.prefix) {
33
+ PlatformTools.logWarn(message.prefix, message.message);
34
+ }
35
+ else {
36
+ console.warn(PlatformTools.warn(String(message.message)));
37
+ }
38
+ break;
39
+ case "error":
40
+ case "query-error":
41
+ if (message.prefix) {
42
+ PlatformTools.logError(message.prefix, String(message.message));
43
+ }
44
+ else {
45
+ console.error(PlatformTools.error(String(message.message)));
46
+ }
47
+ break;
48
+ }
114
49
  }
115
50
  }
116
51
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/logger/AdvancedConsoleLogger.ts"],"names":[],"mappings":"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","file":"AdvancedConsoleLogger.js","sourcesContent":["import { LoggerOptions } from \"./LoggerOptions\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { Logger } from \"./Logger\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger uses console to log events and use syntax highlighting.\n */\nexport class AdvancedConsoleLogger implements Logger {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(private options?: LoggerOptions) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Logs query and parameters used in it.\n */\n logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner) {\n if (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"query\") !== -1)\n ) {\n const sql =\n query +\n (parameters && parameters.length\n ? \" -- PARAMETERS: \" + this.stringifyParams(parameters)\n : \"\")\n PlatformTools.logInfo(\"query:\", PlatformTools.highlightSql(sql))\n }\n }\n\n /**\n * Logs query that is failed.\n */\n logQueryError(\n error: string,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n if (\n this.options === \"all\" ||\n this.options === true ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"error\") !== -1)\n ) {\n const sql =\n query +\n (parameters && parameters.length\n ? \" -- PARAMETERS: \" + this.stringifyParams(parameters)\n : \"\")\n PlatformTools.logError(\n `query failed:`,\n PlatformTools.highlightSql(sql),\n )\n PlatformTools.logError(`error:`, error)\n }\n }\n\n /**\n * Logs query that is slow.\n */\n logQuerySlow(\n time: number,\n query: string,\n parameters?: any[],\n queryRunner?: QueryRunner,\n ) {\n const sql =\n query +\n (parameters && parameters.length\n ? \" -- PARAMETERS: \" + this.stringifyParams(parameters)\n : \"\")\n PlatformTools.logWarn(`query is slow:`, PlatformTools.highlightSql(sql))\n PlatformTools.logWarn(`execution time:`, time)\n }\n\n /**\n * Logs events from the schema build process.\n */\n logSchemaBuild(message: string, queryRunner?: QueryRunner) {\n if (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"schema\") !== -1)\n ) {\n PlatformTools.log(message)\n }\n }\n\n /**\n * Logs events from the migration run process.\n */\n logMigration(message: string, queryRunner?: QueryRunner) {\n PlatformTools.log(message)\n }\n\n /**\n * Perform logging using given logger, or by default to the console.\n * Log has its own level and message.\n */\n log(\n level: \"log\" | \"info\" | \"warn\",\n message: any,\n queryRunner?: QueryRunner,\n ) {\n switch (level) {\n case \"log\":\n if (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"log\") !== -1)\n )\n PlatformTools.log(message)\n break\n case \"info\":\n if (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"info\") !== -1)\n )\n PlatformTools.logInfo(\"INFO:\", message)\n break\n case \"warn\":\n if (\n this.options === \"all\" ||\n (Array.isArray(this.options) &&\n this.options.indexOf(\"warn\") !== -1)\n )\n console.warn(PlatformTools.warn(message))\n break\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Converts parameters to a string.\n * Sometimes parameters can have circular objects and therefore we are handle this case too.\n */\n protected stringifyParams(parameters: any[]) {\n try {\n return JSON.stringify(parameters)\n } catch (error) {\n // most probably circular objects in parameters\n return parameters\n }\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/logger/AdvancedConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACrD;;OAEG;IACO,QAAQ,CACd,KAAe,EACf,UAAqC,EACrC,WAAyB;;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAEpD,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC1B,QAAQ,MAAA,OAAO,CAAC,IAAI,mCAAI,KAAK,EAAE;gBAC3B,KAAK,KAAK,CAAC;gBACX,KAAK,cAAc,CAAC;gBACpB,KAAK,WAAW;oBACZ,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC1C,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO;oBACR,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;qBACzD;yBAAM;wBACH,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;qBAC7C;oBACD,MAAK;gBAET,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY;oBACb,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;qBACzD;yBAAM;wBACH,OAAO,CAAC,IAAI,CACR,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAA;qBACJ;oBACD,MAAK;gBAET,KAAK,OAAO,CAAC;gBACb,KAAK,aAAa;oBACd,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,aAAa,CAAC,QAAQ,CAClB,OAAO,CAAC,MAAM,EACd,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAC1B,CAAA;qBACJ;yBAAM;wBACH,OAAO,CAAC,KAAK,CACT,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC/C,CAAA;qBACJ;oBACD,MAAK;aACZ;SACJ;IACL,CAAC;CACJ","file":"AdvancedConsoleLogger.js","sourcesContent":["import { PlatformTools } from \"../platform/PlatformTools\"\nimport { AbstractLogger } from \"./AbstractLogger\"\nimport { LogLevel, LogMessage } from \"./Logger\"\nimport { QueryRunner } from \"../query-runner/QueryRunner\"\n\n/**\n * Performs logging of the events in TypeORM.\n * This version of logger uses console to log events and use syntax highlighting.\n */\nexport class AdvancedConsoleLogger extends AbstractLogger {\n /**\n * Write log to specific output.\n */\n protected writeLog(\n level: LogLevel,\n logMessage: LogMessage | LogMessage[],\n queryRunner?: QueryRunner,\n ) {\n const messages = this.prepareLogMessages(logMessage)\n\n for (let message of messages) {\n switch (message.type ?? level) {\n case \"log\":\n case \"schema-build\":\n case \"migration\":\n PlatformTools.log(String(message.message))\n break\n\n case \"info\":\n case \"query\":\n if (message.prefix) {\n PlatformTools.logInfo(message.prefix, message.message)\n } else {\n PlatformTools.log(String(message.message))\n }\n break\n\n case \"warn\":\n case \"query-slow\":\n if (message.prefix) {\n PlatformTools.logWarn(message.prefix, message.message)\n } else {\n console.warn(\n PlatformTools.warn(String(message.message)),\n )\n }\n break\n\n case \"error\":\n case \"query-error\":\n if (message.prefix) {\n PlatformTools.logError(\n message.prefix,\n String(message.message),\n )\n } else {\n console.error(\n PlatformTools.error(String(message.message)),\n )\n }\n break\n }\n }\n }\n}\n"],"sourceRoot":".."}
@@ -1,40 +1,20 @@
1
- import { Logger } from "./Logger";
1
+ import { AbstractLogger } from "./AbstractLogger";
2
+ import { LogLevel, LogMessage, LogMessageType } from "./Logger";
2
3
  import { QueryRunner } from "../query-runner/QueryRunner";
3
4
  /**
4
5
  * Performs logging of the events in TypeORM via debug library.
5
6
  */
6
- export declare class DebugLogger implements Logger {
7
- private debugQueryLog;
8
- private debugQueryError;
9
- private debugQuerySlow;
10
- private debugSchemaBuild;
11
- private debugMigration;
12
- private debugLog;
13
- private debugInfo;
14
- private debugWarn;
7
+ export declare class DebugLogger extends AbstractLogger {
15
8
  /**
16
- * Logs query and parameters used in it.
9
+ * Object with all debug logger.
17
10
  */
18
- logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): void;
11
+ private logger;
19
12
  /**
20
- * Logs query that failed.
13
+ * Check is logging for level or message type is enabled.
21
14
  */
22
- logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner): void;
15
+ protected isLogEnabledFor(type?: LogLevel | LogMessageType): boolean;
23
16
  /**
24
- * Logs query that is slow.
17
+ * Write log to specific output.
25
18
  */
26
- logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): void;
27
- /**
28
- * Logs events from the schema build process.
29
- */
30
- logSchemaBuild(message: string, queryRunner?: QueryRunner): void;
31
- /**
32
- * Logs events from the migration run process.
33
- */
34
- logMigration(message: string, queryRunner?: QueryRunner): void;
35
- /**
36
- * Perform logging using given logger.
37
- * Log has its own level and message.
38
- */
39
- log(level: "log" | "info" | "warn", message: any, queryRunner?: QueryRunner): void;
19
+ protected writeLog(level: LogLevel, logMessage: LogMessage | LogMessage[], queryRunner?: QueryRunner): void;
40
20
  }