mirror of
https://github.com/apricote/Listory.git
synced 2026-01-13 21:21:02 +00:00
feat(observability): Replace Prometheus package with OpenTelemetry
This commit is contained in:
parent
f67383b761
commit
6b1640b753
22 changed files with 2391 additions and 568 deletions
32
src/logger/logger.ts
Normal file
32
src/logger/logger.ts
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
import { context, trace } from "@opentelemetry/api";
|
||||
import Pino, { Logger, LoggerOptions } from "pino";
|
||||
|
||||
export const loggerOptions: LoggerOptions = {
|
||||
level: "debug",
|
||||
formatters: {
|
||||
level(label) {
|
||||
return { level: label };
|
||||
},
|
||||
log(object) {
|
||||
const span = trace.getSpan(context.active());
|
||||
if (!span) return { ...object };
|
||||
const { spanId, traceId } = trace
|
||||
.getSpan(context.active())
|
||||
?.spanContext();
|
||||
return { ...object, spanId, traceId };
|
||||
},
|
||||
},
|
||||
transport:
|
||||
process.env.NODE_ENV === "local"
|
||||
? {
|
||||
target: "pino-pretty",
|
||||
options: {
|
||||
colorize: true,
|
||||
levelFirst: true,
|
||||
translateTime: true,
|
||||
},
|
||||
}
|
||||
: null,
|
||||
};
|
||||
|
||||
export const logger: Logger = Pino(loggerOptions);
|
||||
Loading…
Add table
Add a link
Reference in a new issue