Merged in feat/redis-api-send-logs (pull request #2290)

feature: send logs to Sentry for Redis-Api

* feature: send logs to Sentry for Redis-Api


Approved-by: Linus Flood
This commit is contained in:
Joakim Jäderberg
2025-06-19 08:28:53 +00:00
parent 46e7f33ab6
commit 3af994b0a9
5 changed files with 65 additions and 12 deletions
+31
View File
@@ -3,6 +3,7 @@ import pino from "pino";
import { env } from "@/env";
import { mask } from "./mask";
import { SentryLogger } from "@/server/sentry.server.config";
const serializers: { [key: string]: pino.SerializerFn } = {
password: (payload) => {
@@ -29,8 +30,38 @@ export const baseLogger = pino({
level: process.env.LOG_LEVEL || "info",
timestamp: pino.stdTimeFunctions.isoTime,
serializers,
hooks: {
logMethod(args, method, level) {
const [msg, ...rest] = args;
switch (level) {
case pinoLevels.error:
SentryLogger.error(msg, rest);
break;
case pinoLevels.warn:
SentryLogger.warn(msg, rest);
break;
case pinoLevels.info:
SentryLogger.info(msg, rest);
break;
case pinoLevels.debug:
SentryLogger.debug(msg, rest);
break;
}
method.apply(this, args);
},
},
});
export const loggerModule = (loggerName: string) => {
return baseLogger.child({ module: loggerName });
};
const pinoLevels = {
trace: 10,
debug: 20,
info: 30,
warn: 40,
error: 50,
fatal: 60,
} as const;