@gyramais/log-transport 0.5.0 → 0.5.2
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/README.md +30 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +14 -4
- package/dist/logger.js.map +1 -1
- package/package.json +1 -1
- package/src/logger.ts +17 -4
package/README.md
CHANGED
|
@@ -77,6 +77,36 @@ Toda configuração entra por parâmetro. Três razões, em ordem de peso:
|
|
|
77
77
|
Quem lê env é o serviço, no entrypoint. Há um teste que compila o pacote com
|
|
78
78
|
`removeComments` e falha se `process.env` aparecer no código emitido.
|
|
79
79
|
|
|
80
|
+
## Armadilha do Nest: `warn` com objeto apaga o `context`
|
|
81
|
+
|
|
82
|
+
Não é deste pacote — é a assinatura do Nest, `error(message, stack?, context?)` contra
|
|
83
|
+
`warn(message, context?)`. O 2º argumento cai em slots diferentes antes de chegar ao
|
|
84
|
+
transporte, e o pacote preserva esse comportamento de propósito (o `formatMeta` é o
|
|
85
|
+
mesmo da fonte):
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
// logger.warn('marcador', { scrId }) -> o objeto OCUPA context; o nome da classe some
|
|
89
|
+
{"context":{"scrId":"..."},"level":"warn","message":"marcador"}
|
|
90
|
+
|
|
91
|
+
// logger.error('marcador', { scrId }) -> vai para stack; context sobrevive
|
|
92
|
+
{"context":"SCRPlugin","level":"error","message":"marcador","stack":[{"scrId":"..."}]}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
A consequência é na **consulta**, não na entrega: painel ou alerta que filtra por
|
|
96
|
+
`context` deixa de achar marcadores emitidos com `warn` + objeto.
|
|
97
|
+
|
|
98
|
+
Antes de adotar num serviço, procure quem já faz isso:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
grep -rn "logger\.warn(" src --include="*.ts" | grep ","
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
O padrão que funciona igual no formato local e no JSON é **logfmt dentro da mensagem**:
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
logger.warn(`scr-hbi-no-data scrId=${scrId} yearMonth=${yearMonth}`);
|
|
108
|
+
```
|
|
109
|
+
|
|
80
110
|
## Detalhes que não são arbitrários
|
|
81
111
|
|
|
82
112
|
- **`service` é obrigatório no tipo.** O `gyra-nest-boilerplate` rotula hoje
|
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;AAKpD,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;AA8ID;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,
|
|
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;AAKpD,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;AA8ID;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,aAAa,KAAG,WA8FxD,CAAC"}
|
package/dist/logger.js
CHANGED
|
@@ -185,11 +185,21 @@ const buildNestLogger = (options) => {
|
|
|
185
185
|
new winston_1.transports.Console({ format: consoleFormat }),
|
|
186
186
|
];
|
|
187
187
|
let lokiTransport;
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
/*
|
|
189
|
+
O destino remoto tem precedência sobre o arquivo, e host inutilizável NÃO
|
|
190
|
+
cancela o arquivo: quem pediu `file` continua recebendo arquivo. A primeira
|
|
191
|
+
versão desta guarda (0.5.0) usava `if/else if` e o ramo do arquivo nunca era
|
|
192
|
+
avaliado quando `loki` estava presente — com `LOG_GRAFANA_LOKI=true`,
|
|
193
|
+
`LOKI_URL` vazio e `LOG_FILE=true`, o consumidor pedia dois destinos e ficava
|
|
194
|
+
só com o console, em silêncio no que diz respeito ao arquivo.
|
|
195
|
+
*/
|
|
196
|
+
const loki = options.loki;
|
|
197
|
+
const lokiUsable = Boolean(loki) && isUsableHost(loki?.host);
|
|
198
|
+
if (loki && !lokiUsable) {
|
|
199
|
+
warnInvalidHost(loki.host);
|
|
190
200
|
}
|
|
191
|
-
|
|
192
|
-
lokiTransport = buildLokiTransport(
|
|
201
|
+
if (loki && lokiUsable) {
|
|
202
|
+
lokiTransport = buildLokiTransport(loki, {
|
|
193
203
|
service: options.service,
|
|
194
204
|
app: options.app ?? options_1.DEFAULT_APP_LABEL,
|
|
195
205
|
instance: options.instance ?? (0, os_1.hostname)(),
|
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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"}
|
package/package.json
CHANGED
package/src/logger.ts
CHANGED
|
@@ -256,11 +256,24 @@ export const buildNestLogger = (options: LoggerOptions): BuiltLogger => {
|
|
|
256
256
|
|
|
257
257
|
let lokiTransport: LokiTransport | undefined;
|
|
258
258
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
259
|
+
/*
|
|
260
|
+
O destino remoto tem precedência sobre o arquivo, e host inutilizável NÃO
|
|
261
|
+
cancela o arquivo: quem pediu `file` continua recebendo arquivo. A primeira
|
|
262
|
+
versão desta guarda (0.5.0) usava `if/else if` e o ramo do arquivo nunca era
|
|
263
|
+
avaliado quando `loki` estava presente — com `LOG_GRAFANA_LOKI=true`,
|
|
264
|
+
`LOKI_URL` vazio e `LOG_FILE=true`, o consumidor pedia dois destinos e ficava
|
|
265
|
+
só com o console, em silêncio no que diz respeito ao arquivo.
|
|
266
|
+
*/
|
|
267
|
+
const loki = options.loki;
|
|
268
|
+
const lokiUsable = Boolean(loki) && isUsableHost(loki?.host);
|
|
269
|
+
|
|
270
|
+
if (loki && !lokiUsable) {
|
|
271
|
+
warnInvalidHost(loki.host);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if (loki && lokiUsable) {
|
|
262
275
|
lokiTransport = buildLokiTransport(
|
|
263
|
-
|
|
276
|
+
loki,
|
|
264
277
|
{
|
|
265
278
|
service: options.service,
|
|
266
279
|
app: options.app ?? DEFAULT_APP_LABEL,
|