@gyramais/log-transport 1.0.1 → 1.1.0
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.
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +12 -0
- package/dist/logger.js.map +1 -1
- package/dist/mask-format.d.ts +3 -0
- package/dist/mask-format.d.ts.map +1 -0
- package/dist/mask-format.js +65 -0
- package/dist/mask-format.js.map +1 -0
- package/dist/options.d.ts +1 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js.map +1 -1
- package/package.json +2 -1
- package/src/logger.ts +12 -0
- package/src/mask-format.ts +71 -0
- package/src/options.ts +11 -0
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAmCA,OAAO,aAAa,GAAG,QAAQ,cAAc,CAAC,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAmCA,OAAO,aAAa,GAAG,QAAQ,cAAc,CAAC,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD,OAAO,EAKL,aAAa,EAEd,MAAM,WAAW,CAAC;AAQnB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,aAAa,CAAC;IAOtB,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IAOrC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AA0LD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,WAyGxD,CAAC"}
|
package/dist/logger.js
CHANGED
|
@@ -36,6 +36,7 @@ const winston_1 = require("winston");
|
|
|
36
36
|
const nest_winston_1 = require("nest-winston");
|
|
37
37
|
const LokiTransport = require("winston-loki");
|
|
38
38
|
const os_1 = require("os");
|
|
39
|
+
const mask_format_1 = require("./mask-format");
|
|
39
40
|
const console_redirect_1 = require("./console-redirect");
|
|
40
41
|
const fatal_handlers_1 = require("./fatal-handlers");
|
|
41
42
|
const options_1 = require("./options");
|
|
@@ -259,8 +260,19 @@ const buildNestLogger = (options) => {
|
|
|
259
260
|
format: remoteFormat,
|
|
260
261
|
}));
|
|
261
262
|
}
|
|
263
|
+
/*
|
|
264
|
+
O mascaramento do payload do chamador (GYR-1644) vai no nível do LOGGER, não
|
|
265
|
+
no de cada transport, por dois motivos: roda UMA vez por linha em vez de uma
|
|
266
|
+
por destino, e assim Console, File e Loki recebem a mesma linha já limpa —
|
|
267
|
+
um destino que escapasse seria o vazamento de volta.
|
|
268
|
+
*/
|
|
262
269
|
const logger = nest_winston_1.WinstonModule.createLogger({
|
|
263
270
|
level: options.level ?? options_1.DEFAULT_LEVEL,
|
|
271
|
+
/*
|
|
272
|
+
`undefined` e nao um combine vazio: e o estado anterior FIEL — antes desta
|
|
273
|
+
mudanca nao havia format de nivel de logger nenhum.
|
|
274
|
+
*/
|
|
275
|
+
format: options.maskPayload === false ? undefined : (0, mask_format_1.buildMaskFormat)(),
|
|
264
276
|
transports: transportsList,
|
|
265
277
|
});
|
|
266
278
|
/*
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask-format.d.ts","sourceRoot":"","sources":["../src/mask-format.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAU,OAAO,EAAE,MAAM,SAAS,CAAC;AAa1C,eAAO,MAAM,eAAe,QAAO,OAAO,CAAC,MAqBrC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.buildMaskFormat = void 0;
|
|
5
|
+
/*
|
|
6
|
+
Mascaramento do argumento que o chamador passou ao `Logger` (GYR-1644).
|
|
7
|
+
|
|
8
|
+
O interceptor protege o que ATRAVESSA a requisição. Uma chamada direta —
|
|
9
|
+
`Logger.log('CreateReport', user)` — não atravessa nada e saía crua; foi assim
|
|
10
|
+
que um e-mail de pessoa real apareceu no log de produção do gyra-core em
|
|
11
|
+
02/09/2026. São 70 chamadas dessas em 9 repos, nenhuma mascarando.
|
|
12
|
+
|
|
13
|
+
Corrigir aqui, e não nos 70 call sites, é o ponto: a 71ª chamada nasce protegida
|
|
14
|
+
e cada serviço herda ao adotar o pacote.
|
|
15
|
+
|
|
16
|
+
ONDE O ARGUMENTO CAI. Medido com o winston e o nest-winston reais do repo, não
|
|
17
|
+
suposto — o card original supunha que o winston espalhava o objeto no topo do
|
|
18
|
+
`info`, e não é o que acontece:
|
|
19
|
+
|
|
20
|
+
Logger.log('CreateReport', user) -> info.context = user (objeto)
|
|
21
|
+
Logger.log('mensagem', 'SCRPlugin')-> info.context = 'SCRPlugin' (string)
|
|
22
|
+
Logger.warn('aviso', {…}) -> info.context = {…}
|
|
23
|
+
Logger.error('after', {…}) -> info.stack = [ {…} ]
|
|
24
|
+
|
|
25
|
+
Top-level do `info` é sempre `['context','level','message']` (+ `stack` no
|
|
26
|
+
`error`). Ou seja, a fronteira entre metadado da linha e payload do chamador
|
|
27
|
+
está PRESERVADA num campo conhecido — é a assimetria `warn`/`error` medida na
|
|
28
|
+
GYR-1571, que aqui deixa de ser problema e vira o mecanismo.
|
|
29
|
+
|
|
30
|
+
Daí a regra: `context` string é o contexto do Nest (nome da classe) e não se
|
|
31
|
+
toca; `context` objeto é payload do chamador e passa por `maskLogMeta`.
|
|
32
|
+
|
|
33
|
+
O TERCEIRO CANAL. Substituir `info.context` NÃO limpa
|
|
34
|
+
`info[Symbol.for('splat')]`, que segue apontando para o objeto cru — medido. E é
|
|
35
|
+
de lá que o `formatMeta` do formato pretty lê. Mascarar só um canal deixaria o
|
|
36
|
+
PII em claro no stdout de desenvolvimento, que é onde ele é lido por humano.
|
|
37
|
+
*/
|
|
38
|
+
const winston_1 = require("winston");
|
|
39
|
+
const log_redaction_1 = require("@gyramais/log-redaction");
|
|
40
|
+
const SPLAT = Symbol.for('splat');
|
|
41
|
+
/*
|
|
42
|
+
`maskLogMeta` devolve CÓPIA. Isso não é detalhe: o objeto no `splat` é o do
|
|
43
|
+
chamador, e mascarar no lugar corromperia o dado da aplicação — o `user` do
|
|
44
|
+
request perderia o `username` para o resto do handler.
|
|
45
|
+
*/
|
|
46
|
+
const maskEntry = (value) => value && typeof value === 'object' ? (0, log_redaction_1.maskLogMeta)(value) : value;
|
|
47
|
+
const buildMaskFormat = () => (0, winston_1.format)((info) => {
|
|
48
|
+
if (info.context && typeof info.context === 'object') {
|
|
49
|
+
info.context = (0, log_redaction_1.maskLogMeta)(info.context);
|
|
50
|
+
}
|
|
51
|
+
/*
|
|
52
|
+
Só array: num `Logger.error(msg, err.stack)` o `stack` é a string da stack
|
|
53
|
+
trace, e passá-la por um mascarador de objeto não faria nada além de custar.
|
|
54
|
+
*/
|
|
55
|
+
if (Array.isArray(info.stack)) {
|
|
56
|
+
info.stack = info.stack.map(maskEntry);
|
|
57
|
+
}
|
|
58
|
+
const splat = info[SPLAT];
|
|
59
|
+
if (Array.isArray(splat)) {
|
|
60
|
+
info[SPLAT] = splat.map(maskEntry);
|
|
61
|
+
}
|
|
62
|
+
return info;
|
|
63
|
+
})();
|
|
64
|
+
exports.buildMaskFormat = buildMaskFormat;
|
|
65
|
+
//# sourceMappingURL=mask-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask-format.js","sourceRoot":"","sources":["../src/mask-format.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCE;AAEF,qCAA0C;AAC1C,2DAAsD;AAEtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAElC;;;;EAIE;AACF,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE,CAC5C,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,2BAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAE3D,MAAM,eAAe,GAAG,GAAmB,EAAE,CAClD,IAAA,gBAAM,EAAC,CAAC,IAAS,EAAE,EAAE;IACnB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAA,2BAAW,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;MAGE;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,EAAE,CAAC;AArBM,QAAA,eAAe,mBAqBrB"}
|
package/dist/options.d.ts
CHANGED
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAS5B,OAAO,EAAE,MAAM,CAAC;IAOhB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,EAAE,MAAM,CAAC;IAQf,QAAQ,CAAC,EAAE,MAAM,CAAC;IASlB,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAS5B,OAAO,EAAE,MAAM,CAAC;IAOhB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,EAAE,MAAM,CAAC;IAQf,QAAQ,CAAC,EAAE,MAAM,CAAC;IASlB,MAAM,CAAC,EAAE,OAAO,CAAC;IAWjB,WAAW,CAAC,EAAE,OAAO,CAAC;IAYtB,IAAI,CAAC,EAAE,WAAW,CAAC;IAMnB,IAAI,CAAC,EAAE,WAAW,CAAC;IAWnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAa1B,aAAa,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,SAAS,CAAC;AACxC,eAAO,MAAM,aAAa,UAAU,CAAC;AAGrC,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,eAAO,MAAM,uBAAuB,QAAQ,CAAC"}
|
package/dist/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;EAeE;;;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;EAeE;;;AA4HW,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAC3B,QAAA,aAAa,GAAG,OAAO,CAAC;AAErC,gEAAgE;AACnD,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAElC,QAAA,uBAAuB,GAAG,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gyramais/log-transport",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Entrega de log ao Loki e registro de excecao fatal para os servicos gyra-*",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"prepack": "npm run build"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
+
"@gyramais/log-redaction": "^1.2.0",
|
|
28
29
|
"nest-winston": "^1.9.4",
|
|
29
30
|
"winston": "^3.13.1",
|
|
30
31
|
"winston-loki": "^6.1.6"
|
package/src/logger.ts
CHANGED
|
@@ -37,6 +37,7 @@ import LokiTransport = require('winston-loki');
|
|
|
37
37
|
import type { LoggerService } from '@nestjs/common';
|
|
38
38
|
import { hostname } from 'os';
|
|
39
39
|
|
|
40
|
+
import { buildMaskFormat } from './mask-format';
|
|
40
41
|
import { redirectConsoleToNestLogger } from './console-redirect';
|
|
41
42
|
import { registerFatalHandlers } from './fatal-handlers';
|
|
42
43
|
import {
|
|
@@ -343,8 +344,19 @@ export const buildNestLogger = (options: LoggerOptions): BuiltLogger => {
|
|
|
343
344
|
);
|
|
344
345
|
}
|
|
345
346
|
|
|
347
|
+
/*
|
|
348
|
+
O mascaramento do payload do chamador (GYR-1644) vai no nível do LOGGER, não
|
|
349
|
+
no de cada transport, por dois motivos: roda UMA vez por linha em vez de uma
|
|
350
|
+
por destino, e assim Console, File e Loki recebem a mesma linha já limpa —
|
|
351
|
+
um destino que escapasse seria o vazamento de volta.
|
|
352
|
+
*/
|
|
346
353
|
const logger = WinstonModule.createLogger({
|
|
347
354
|
level: options.level ?? DEFAULT_LEVEL,
|
|
355
|
+
/*
|
|
356
|
+
`undefined` e nao um combine vazio: e o estado anterior FIEL — antes desta
|
|
357
|
+
mudanca nao havia format de nivel de logger nenhum.
|
|
358
|
+
*/
|
|
359
|
+
format: options.maskPayload === false ? undefined : buildMaskFormat(),
|
|
348
360
|
transports: transportsList,
|
|
349
361
|
});
|
|
350
362
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
Mascaramento do argumento que o chamador passou ao `Logger` (GYR-1644).
|
|
5
|
+
|
|
6
|
+
O interceptor protege o que ATRAVESSA a requisição. Uma chamada direta —
|
|
7
|
+
`Logger.log('CreateReport', user)` — não atravessa nada e saía crua; foi assim
|
|
8
|
+
que um e-mail de pessoa real apareceu no log de produção do gyra-core em
|
|
9
|
+
02/09/2026. São 70 chamadas dessas em 9 repos, nenhuma mascarando.
|
|
10
|
+
|
|
11
|
+
Corrigir aqui, e não nos 70 call sites, é o ponto: a 71ª chamada nasce protegida
|
|
12
|
+
e cada serviço herda ao adotar o pacote.
|
|
13
|
+
|
|
14
|
+
ONDE O ARGUMENTO CAI. Medido com o winston e o nest-winston reais do repo, não
|
|
15
|
+
suposto — o card original supunha que o winston espalhava o objeto no topo do
|
|
16
|
+
`info`, e não é o que acontece:
|
|
17
|
+
|
|
18
|
+
Logger.log('CreateReport', user) -> info.context = user (objeto)
|
|
19
|
+
Logger.log('mensagem', 'SCRPlugin')-> info.context = 'SCRPlugin' (string)
|
|
20
|
+
Logger.warn('aviso', {…}) -> info.context = {…}
|
|
21
|
+
Logger.error('after', {…}) -> info.stack = [ {…} ]
|
|
22
|
+
|
|
23
|
+
Top-level do `info` é sempre `['context','level','message']` (+ `stack` no
|
|
24
|
+
`error`). Ou seja, a fronteira entre metadado da linha e payload do chamador
|
|
25
|
+
está PRESERVADA num campo conhecido — é a assimetria `warn`/`error` medida na
|
|
26
|
+
GYR-1571, que aqui deixa de ser problema e vira o mecanismo.
|
|
27
|
+
|
|
28
|
+
Daí a regra: `context` string é o contexto do Nest (nome da classe) e não se
|
|
29
|
+
toca; `context` objeto é payload do chamador e passa por `maskLogMeta`.
|
|
30
|
+
|
|
31
|
+
O TERCEIRO CANAL. Substituir `info.context` NÃO limpa
|
|
32
|
+
`info[Symbol.for('splat')]`, que segue apontando para o objeto cru — medido. E é
|
|
33
|
+
de lá que o `formatMeta` do formato pretty lê. Mascarar só um canal deixaria o
|
|
34
|
+
PII em claro no stdout de desenvolvimento, que é onde ele é lido por humano.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
import { format, Logform } from 'winston';
|
|
38
|
+
import { maskLogMeta } from '@gyramais/log-redaction';
|
|
39
|
+
|
|
40
|
+
const SPLAT = Symbol.for('splat');
|
|
41
|
+
|
|
42
|
+
/*
|
|
43
|
+
`maskLogMeta` devolve CÓPIA. Isso não é detalhe: o objeto no `splat` é o do
|
|
44
|
+
chamador, e mascarar no lugar corromperia o dado da aplicação — o `user` do
|
|
45
|
+
request perderia o `username` para o resto do handler.
|
|
46
|
+
*/
|
|
47
|
+
const maskEntry = (value: unknown): unknown =>
|
|
48
|
+
value && typeof value === 'object' ? maskLogMeta(value) : value;
|
|
49
|
+
|
|
50
|
+
export const buildMaskFormat = (): Logform.Format =>
|
|
51
|
+
format((info: any) => {
|
|
52
|
+
if (info.context && typeof info.context === 'object') {
|
|
53
|
+
info.context = maskLogMeta(info.context);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
Só array: num `Logger.error(msg, err.stack)` o `stack` é a string da stack
|
|
58
|
+
trace, e passá-la por um mascarador de objeto não faria nada além de custar.
|
|
59
|
+
*/
|
|
60
|
+
if (Array.isArray(info.stack)) {
|
|
61
|
+
info.stack = info.stack.map(maskEntry);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const splat = info[SPLAT];
|
|
65
|
+
|
|
66
|
+
if (Array.isArray(splat)) {
|
|
67
|
+
info[SPLAT] = splat.map(maskEntry);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return info;
|
|
71
|
+
})();
|
package/src/options.ts
CHANGED
|
@@ -83,6 +83,17 @@ export interface LoggerOptions {
|
|
|
83
83
|
*/
|
|
84
84
|
pretty?: boolean;
|
|
85
85
|
|
|
86
|
+
/*
|
|
87
|
+
Mascara o objeto que o chamador passa ao `Logger` (GYR-1644). Default LIGADO:
|
|
88
|
+
o caminho que ele protege é o que vazou em produção, e um default desligado
|
|
89
|
+
faria cada serviço precisar lembrar de ligá-lo — que é exatamente a
|
|
90
|
+
disciplina por serviço que este pacote existe para não depender.
|
|
91
|
+
|
|
92
|
+
Existe para medir o custo do format (o benchmark liga e desliga a mesma
|
|
93
|
+
carga) e para desligar em emergência. Não é configuração de rotina.
|
|
94
|
+
*/
|
|
95
|
+
maskPayload?: boolean;
|
|
96
|
+
|
|
86
97
|
/*
|
|
87
98
|
A PRESENÇA deste objeto é o gate de envio — substitui o
|
|
88
99
|
`LOG_GRAFANA_LOKI === 'true'`. Ausente significa não enviar, e o pacote não
|