From 3e19b11609d2374c05a557af4bbe042d3e6e0dec Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sun, 24 Nov 2024 23:13:29 +0100 Subject: [PATCH] refactor: :loud_sound: Fix duplicate logs --- api/well-known/webfinger/index.ts | 2 +- classes/database/instance.ts | 8 ++++---- classes/database/note.ts | 2 +- classes/database/user.ts | 9 +++++---- utils/loggers.ts | 14 ++++++++++++-- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/api/well-known/webfinger/index.ts b/api/well-known/webfinger/index.ts index 6907fee3..2aae8e6d 100644 --- a/api/well-known/webfinger/index.ts +++ b/api/well-known/webfinger/index.ts @@ -108,7 +108,7 @@ export default apiRoute((app) => } catch (e) { const error = e as ResponseError; - getLogger("federation") + getLogger(["federation", "bridge"]) .error`Error from bridge: ${await error.response.data}`; } } diff --git a/classes/database/instance.ts b/classes/database/instance.ts index 62bba1ab..03b61a17 100644 --- a/classes/database/instance.ts +++ b/classes/database/instance.ts @@ -144,7 +144,7 @@ export class Instance extends BaseInterface { } | null> { const origin = new URL(url).origin; const wellKnownUrl = new URL("/.well-known/versia", origin); - const logger = getLogger("federation"); + const logger = getLogger(["federation", "resolvers"]); const requester = await User.getFederationRequester(); @@ -201,7 +201,7 @@ export class Instance extends BaseInterface { // Go to endpoint, then follow the links to the actual metadata - const logger = getLogger("federation"); + const logger = getLogger(["federation", "resolvers"]); const requester = await User.getFederationRequester(); try { @@ -332,7 +332,7 @@ export class Instance extends BaseInterface { } public static async resolve(url: string): Promise { - const logger = getLogger("federation"); + const logger = getLogger(["federation", "resolvers"]); const host = new URL(url).host; const existingInstance = await Instance.fromSql( @@ -363,7 +363,7 @@ export class Instance extends BaseInterface { } public async updateFromRemote(): Promise { - const logger = getLogger("federation"); + const logger = getLogger(["federation", "resolvers"]); const output = await Instance.fetchMetadata( `https://${this.data.baseUrl}`, diff --git a/classes/database/note.ts b/classes/database/note.ts index 65580564..139b737c 100644 --- a/classes/database/note.ts +++ b/classes/database/note.ts @@ -747,7 +747,7 @@ export class Note extends BaseInterface { author: User, ): Promise { const emojis: Emoji[] = []; - const logger = getLogger("federation"); + const logger = getLogger(["federation", "resolvers"]); for (const emoji of note.extensions?.["pub.versia:custom_emojis"] ?.emojis ?? []) { diff --git a/classes/database/user.ts b/classes/database/user.ts index ce4f64a3..3c496a3b 100644 --- a/classes/database/user.ts +++ b/classes/database/user.ts @@ -716,7 +716,8 @@ export class User extends BaseInterface { } public static async resolve(uri: string): Promise { - getLogger("federation").debug`Resolving user ${chalk.gray(uri)}`; + getLogger(["federation", "resolvers"]) + .debug`Resolving user ${chalk.gray(uri)}`; // Check if user not already in database const foundUser = await User.fromSql(eq(Users.uri, uri)); @@ -737,7 +738,7 @@ export class User extends BaseInterface { return await User.fromId(uuid[0]); } - getLogger("federation") + getLogger(["federation", "resolvers"]) .debug`User not found in database, fetching from remote`; return await User.saveFromRemote(uri); @@ -1014,9 +1015,9 @@ export class User extends BaseInterface { }, ); } catch (e) { - getLogger("federation") + getLogger(["federation", "outbox"]) .error`Federating ${chalk.gray(entity.type)} to ${user.getUri()} ${chalk.bold.red("failed")}`; - getLogger("federation").error`${e}`; + getLogger(["federation", "outbox"]).error`${e}`; sentry?.captureException(e); return { ok: false }; diff --git a/utils/loggers.ts b/utils/loggers.ts index b2d33b0e..e4f51e2f 100644 --- a/utils/loggers.ts +++ b/utils/loggers.ts @@ -175,12 +175,22 @@ export const configureLoggers = (silent = false): Promise => filters: ["configFilter"], }, { - category: "federation", + category: ["federation", "inbox"], sinks: ["console", "file"], filters: ["configFilter"], }, { - category: ["federation", "inbox"], + category: ["federation", "outbox"], + sinks: ["console", "file"], + filters: ["configFilter"], + }, + { + category: ["federation", "bridge"], + sinks: ["console", "file"], + filters: ["configFilter"], + }, + { + category: ["federation", "resolvers"], sinks: ["console", "file"], filters: ["configFilter"], },