chore (backend): revise apLogger log levels (#10907)
This commit is contained in:
parent
76a45fa6ac
commit
cdea55ab25
15 changed files with 88 additions and 80 deletions
|
@ -133,7 +133,8 @@ export default class DeliverManager {
|
|||
host: new URL(inbox).host,
|
||||
});
|
||||
} catch (error) {
|
||||
apLogger.error(`Invalid Inbox ${inbox}:\n${inspect(error)}`);
|
||||
apLogger.info(`Invalid Inbox ${inbox}`);
|
||||
apLogger.debug(inspect(error));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,20 +6,19 @@ import { isFollow, getApType } from "../../type.js";
|
|||
import { apLogger } from "../../logger.js";
|
||||
import { inspect } from "node:util";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
export default async (
|
||||
actor: CacheableRemoteUser,
|
||||
activity: IAccept,
|
||||
): Promise<string> => {
|
||||
const uri = activity.id || activity;
|
||||
|
||||
logger.info(`Accept: ${uri}`);
|
||||
apLogger.info(`Accept: ${uri}`);
|
||||
|
||||
const resolver = new Resolver();
|
||||
|
||||
const object = await resolver.resolve(activity.object).catch((e) => {
|
||||
logger.error(`Resolution failed:\n${inspect(e)}`);
|
||||
apLogger.info(`Failed to resolve AP object: ${e}`);
|
||||
apLogger.debug(inspect(e));
|
||||
throw e;
|
||||
});
|
||||
|
||||
|
|
|
@ -5,15 +5,13 @@ import type { IAnnounce } from "../../type.js";
|
|||
import { getApId } from "../../type.js";
|
||||
import { apLogger } from "../../logger.js";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
export default async (
|
||||
actor: CacheableRemoteUser,
|
||||
activity: IAnnounce,
|
||||
): Promise<void> => {
|
||||
const uri = getApId(activity);
|
||||
|
||||
logger.info(`Announce: ${uri}`);
|
||||
apLogger.info(`Announce: ${uri}`);
|
||||
|
||||
const resolver = new Resolver();
|
||||
|
||||
|
|
|
@ -13,8 +13,6 @@ import { Notes } from "@/models/index.js";
|
|||
import { isBlockedServer } from "backend-rs";
|
||||
import { inspect } from "node:util";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
/**
|
||||
* Handle announcement activities
|
||||
*/
|
||||
|
@ -50,11 +48,14 @@ export default async function (
|
|||
// Skip if target is 4xx
|
||||
if (e instanceof StatusError) {
|
||||
if (e.isClientError) {
|
||||
logger.warn(`Ignored announce target ${targetUri} - ${e.statusCode}`);
|
||||
apLogger.info(
|
||||
`Ignored announce target ${targetUri} - ${e.statusCode}`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
logger.warn(`Error in announce target ${targetUri}:\n${inspect(e)}`);
|
||||
apLogger.warn(`Error in announce target ${targetUri}`);
|
||||
apLogger.debug(inspect(e));
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
|
@ -63,7 +64,7 @@ export default async function (
|
|||
console.log("skip: invalid actor for this activity");
|
||||
return;
|
||||
}
|
||||
logger.info(`Creating the (Re)Note: ${uri}`);
|
||||
apLogger.info(`Creating (re)note: ${uri}`);
|
||||
|
||||
const activityAudience = await parseAudience(
|
||||
actor,
|
||||
|
|
|
@ -7,15 +7,13 @@ import { apLogger } from "../../logger.js";
|
|||
import { toArray, concat, unique } from "@/prelude/array.js";
|
||||
import { inspect } from "node:util";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
export default async (
|
||||
actor: CacheableRemoteUser,
|
||||
activity: ICreate,
|
||||
): Promise<void> => {
|
||||
const uri = getApId(activity);
|
||||
|
||||
logger.info(`Create: ${uri}`);
|
||||
apLogger.info(`Create: ${uri}`);
|
||||
|
||||
// copy audiences between activity <=> object.
|
||||
if (typeof activity.object === "object") {
|
||||
|
@ -40,13 +38,14 @@ export default async (
|
|||
const resolver = new Resolver();
|
||||
|
||||
const object = await resolver.resolve(activity.object).catch((e) => {
|
||||
logger.error(`Resolution failed:\n${inspect(e)}`);
|
||||
apLogger.info(`Failed to resolve AP object: ${e}`);
|
||||
apLogger.debug(inspect(e));
|
||||
throw e;
|
||||
});
|
||||
|
||||
if (isPost(object)) {
|
||||
createNote(resolver, actor, object, false, activity);
|
||||
} else {
|
||||
logger.warn(`Unknown type: ${getApType(object)}`);
|
||||
apLogger.info(`Unknown type: ${getApType(object)}`);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -3,13 +3,11 @@ import { createDeleteAccountJob } from "@/queue/index.js";
|
|||
import type { CacheableRemoteUser } from "@/models/entities/user.js";
|
||||
import { Users } from "@/models/index.js";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
export async function deleteActor(
|
||||
actor: CacheableRemoteUser,
|
||||
uri: string,
|
||||
): Promise<string> {
|
||||
logger.info(`Deleting the Actor: ${uri}`);
|
||||
apLogger.info(`Deleting Actor: ${uri}`);
|
||||
|
||||
if (actor.uri !== uri) {
|
||||
return `skip: delete actor ${actor.uri} !== ${uri}`;
|
||||
|
|
|
@ -5,13 +5,11 @@ import DbResolver from "../../db-resolver.js";
|
|||
import { getApLock } from "@/misc/app-lock.js";
|
||||
import { deleteMessage } from "@/services/messages/delete.js";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
export default async function (
|
||||
actor: CacheableRemoteUser,
|
||||
uri: string,
|
||||
): Promise<string> {
|
||||
logger.info(`Deleting the Note: ${uri}`);
|
||||
apLogger.info(`Deleting note: ${uri}`);
|
||||
|
||||
const lock = await getApLock(uri);
|
||||
|
||||
|
|
|
@ -54,7 +54,8 @@ export async function performActivity(
|
|||
try {
|
||||
await performOneActivity(actor, act);
|
||||
} catch (err) {
|
||||
apLogger.error(inspect(err));
|
||||
apLogger.info(`Failed to perform activity: ${err}`);
|
||||
apLogger.debug(inspect(err));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -88,9 +89,15 @@ async function performOneActivity(
|
|||
} else if (isReject(activity)) {
|
||||
await reject(actor, activity);
|
||||
} else if (isAdd(activity)) {
|
||||
await add(actor, activity).catch((err) => apLogger.error(inspect(err)));
|
||||
await add(actor, activity).catch((err) => {
|
||||
apLogger.warn(`Failed to perform 'add' activity: ${err}`);
|
||||
apLogger.debug(inspect(err));
|
||||
});
|
||||
} else if (isRemove(activity)) {
|
||||
await remove(actor, activity).catch((err) => apLogger.error(inspect(err)));
|
||||
await remove(actor, activity).catch((err) => {
|
||||
apLogger.warn(`Failed to perform 'remove' activity: ${err}`);
|
||||
apLogger.debug(inspect(err));
|
||||
});
|
||||
} else if (isAnnounce(activity)) {
|
||||
await announce(actor, activity);
|
||||
} else if (isLike(activity)) {
|
||||
|
@ -104,7 +111,7 @@ async function performOneActivity(
|
|||
} else if (isMove(activity)) {
|
||||
await move(actor, activity);
|
||||
} else {
|
||||
apLogger.warn(
|
||||
apLogger.info(
|
||||
`Unrecognized activity type: ${(activity as IActivity).type}`,
|
||||
);
|
||||
}
|
||||
|
|
|
@ -14,12 +14,13 @@ export default async (
|
|||
): Promise<string> => {
|
||||
const uri = activity.id || activity;
|
||||
|
||||
logger.info(`Reject: ${uri}`);
|
||||
apLogger.info(`Reject: ${uri}`);
|
||||
|
||||
const resolver = new Resolver();
|
||||
|
||||
const object = await resolver.resolve(activity.object).catch((e) => {
|
||||
logger.error(`Resolution failed:\n${inspect(e)}`);
|
||||
apLogger.info(`Failed to resolve AP object: ${e}`);
|
||||
apLogger.debug(inspect(e));
|
||||
throw e;
|
||||
});
|
||||
|
||||
|
|
|
@ -17,8 +17,6 @@ import Resolver from "../../resolver.js";
|
|||
import { apLogger } from "../../logger.js";
|
||||
import { inspect } from "node:util";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
export default async (
|
||||
actor: CacheableRemoteUser,
|
||||
activity: IUndo,
|
||||
|
@ -29,12 +27,13 @@ export default async (
|
|||
|
||||
const uri = activity.id || activity;
|
||||
|
||||
logger.info(`Undo: ${uri}`);
|
||||
apLogger.info(`Undo: ${uri}`);
|
||||
|
||||
const resolver = new Resolver();
|
||||
|
||||
const object = await resolver.resolve(activity.object).catch((e) => {
|
||||
logger.error(`Resolution failed:\n${inspect(e)}`);
|
||||
apLogger.info(`Failed to resolve AP object: ${e}`);
|
||||
apLogger.debug(inspect(e));
|
||||
throw e;
|
||||
});
|
||||
|
||||
|
|
|
@ -18,12 +18,13 @@ export default async (
|
|||
return "skip: invalid actor";
|
||||
}
|
||||
|
||||
apLogger.debug("Update");
|
||||
apLogger.info("Update");
|
||||
|
||||
const resolver = new Resolver();
|
||||
|
||||
const object = await resolver.resolve(activity.object).catch((e) => {
|
||||
apLogger.error(`Resolution failed:\n${inspect(e)}`);
|
||||
apLogger.info(`Failed to resolve AP object: ${e}`);
|
||||
apLogger.debug(inspect(e));
|
||||
throw e;
|
||||
});
|
||||
|
||||
|
|
|
@ -11,8 +11,6 @@ import { DriveFiles } from "@/models/index.js";
|
|||
import { truncate } from "@/misc/truncate.js";
|
||||
import { DB_MAX_IMAGE_COMMENT_LENGTH } from "@/misc/hard-limits.js";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
/**
|
||||
* create an Image.
|
||||
*/
|
||||
|
@ -36,7 +34,7 @@ export async function createImage(
|
|||
throw new Error(`Invalid image, unexpected schema: ${image.url}`);
|
||||
}
|
||||
|
||||
logger.info(`Creating the Image: ${image.url}`);
|
||||
apLogger.info(`Creating an image: ${image.url}`);
|
||||
|
||||
const instance = await fetchMeta(true);
|
||||
|
||||
|
|
|
@ -50,8 +50,6 @@ import { type Size, getEmojiSize } from "@/misc/emoji-meta.js";
|
|||
import { langmap } from "@/misc/langmap.js";
|
||||
import { inspect } from "node:util";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
export function validateNote(object: any, uri: string) {
|
||||
const expectHost = extractHost(uri);
|
||||
|
||||
|
@ -112,13 +110,16 @@ export async function createNote(
|
|||
const entryUri = getApId(value);
|
||||
const err = validateNote(object, entryUri);
|
||||
if (err) {
|
||||
logger.error(`${err.message}`, {
|
||||
resolver: {
|
||||
history: resolver.getHistory(),
|
||||
},
|
||||
value: value,
|
||||
object: object,
|
||||
});
|
||||
apLogger.info(`${err.message}`);
|
||||
apLogger.debug(
|
||||
inspect({
|
||||
resolver: {
|
||||
history: resolver.getHistory(),
|
||||
},
|
||||
value: value,
|
||||
object: object,
|
||||
}),
|
||||
);
|
||||
throw new Error("invalid note");
|
||||
}
|
||||
|
||||
|
@ -140,8 +141,8 @@ export async function createNote(
|
|||
throw new Error(`unexpected schema of note url: ${url}`);
|
||||
}
|
||||
|
||||
logger.debug(`Note fetched: ${JSON.stringify(note, null, 2)}`);
|
||||
logger.info(`Creating the Note: ${note.id}`);
|
||||
apLogger.trace(`Note fetched: ${JSON.stringify(note, null, 2)}`);
|
||||
apLogger.info(`Creating the Note: ${note.id}`);
|
||||
|
||||
// Skip if note is made before 2007 (1yr before Fedi was created)
|
||||
// OR skip if note is made 3 days in advance
|
||||
|
@ -150,13 +151,13 @@ export async function createNote(
|
|||
const FutureCheck = new Date();
|
||||
FutureCheck.setDate(FutureCheck.getDate() + 3); // Allow some wiggle room for misconfigured hosts
|
||||
if (DateChecker.getFullYear() < 2007) {
|
||||
logger.warn(
|
||||
apLogger.info(
|
||||
"Note somehow made before Activitypub was created; discarding",
|
||||
);
|
||||
return null;
|
||||
}
|
||||
if (DateChecker > FutureCheck) {
|
||||
logger.warn("Note somehow made after today; discarding");
|
||||
apLogger.info("Note somehow made after today; discarding");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -169,8 +170,8 @@ export async function createNote(
|
|||
|
||||
// Skip if author is suspended.
|
||||
if (actor.isSuspended) {
|
||||
logger.debug(
|
||||
`User ${actor.usernameLower}@${actor.host} suspended; discarding.`,
|
||||
apLogger.info(
|
||||
`User ${actor.usernameLower}@${actor.host} is suspended; discarding.`,
|
||||
);
|
||||
return null;
|
||||
}
|
||||
|
@ -224,7 +225,7 @@ export async function createNote(
|
|||
? await resolveNote(note.inReplyTo, resolver)
|
||||
.then((x) => {
|
||||
if (x == null) {
|
||||
logger.warn("Specified inReplyTo, but nout found");
|
||||
apLogger.info(`Specified inReplyTo not found: ${note.inReplyTo}`);
|
||||
throw new Error("inReplyTo not found");
|
||||
} else {
|
||||
return x;
|
||||
|
@ -242,7 +243,8 @@ export async function createNote(
|
|||
}
|
||||
}
|
||||
|
||||
logger.warn(`Error in inReplyTo ${note.inReplyTo}:\n${inspect(e)}`);
|
||||
apLogger.info(`Error in inReplyTo ${note.inReplyTo}`);
|
||||
apLogger.debug(inspect(e));
|
||||
throw e;
|
||||
})
|
||||
: null;
|
||||
|
@ -336,11 +338,11 @@ export async function createNote(
|
|||
index: number,
|
||||
): Promise<null> => {
|
||||
if (poll.expiresAt && Date.now() > new Date(poll.expiresAt).getTime()) {
|
||||
logger.warn(
|
||||
`vote to expired poll from AP: actor=${actor.username}@${actor.host}, note=${note.id}, choice=${name}`,
|
||||
apLogger.info(
|
||||
`discarding vote to expired poll: actor=${actor.username}@${actor.host}, note=${note.id}, choice=${name}`,
|
||||
);
|
||||
} else if (index >= 0) {
|
||||
logger.info(
|
||||
apLogger.info(
|
||||
`vote from AP: actor=${actor.username}@${actor.host}, note=${note.id}, choice=${name}`,
|
||||
);
|
||||
await vote(actor, reply, index);
|
||||
|
@ -357,7 +359,8 @@ export async function createNote(
|
|||
}
|
||||
|
||||
const emojis = await extractEmojis(note.tag || [], actor.host).catch((e) => {
|
||||
logger.info(`extractEmojis:\n${inspect(e)}`);
|
||||
apLogger.info("Failed to extract emojis");
|
||||
apLogger.debug(inspect(e));
|
||||
return [] as Emoji[];
|
||||
});
|
||||
|
||||
|
@ -515,7 +518,7 @@ export async function extractEmojis(
|
|||
return exists;
|
||||
}
|
||||
|
||||
logger.info(`register emoji host=${host}, name=${name}`);
|
||||
apLogger.info(`register emoji host=${host}, name=${name}`);
|
||||
|
||||
let size: Size = { width: 0, height: 0 };
|
||||
try {
|
||||
|
|
|
@ -48,8 +48,6 @@ import { resolveNote, extractEmojis } from "./note.js";
|
|||
import { resolveImage } from "./image.js";
|
||||
import { inspect } from "node:util";
|
||||
|
||||
const logger = apLogger;
|
||||
|
||||
const nameLength = 128;
|
||||
const summaryLength = 2048;
|
||||
|
||||
|
@ -178,7 +176,7 @@ export async function createPerson(
|
|||
|
||||
const person = validateActor(object, uri);
|
||||
|
||||
logger.info(`Creating the Person: ${person.id}`);
|
||||
apLogger.info(`Creating Person: ${person.id}`);
|
||||
|
||||
const host = toPuny(new URL(object.id).hostname);
|
||||
|
||||
|
@ -347,7 +345,8 @@ export async function createPerson(
|
|||
throw new Error("already registered");
|
||||
}
|
||||
} else {
|
||||
logger.error(inspect(e));
|
||||
apLogger.info(`Failed to create a Person actor: ${person.url}`);
|
||||
apLogger.debug(inspect(e));
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
@ -388,7 +387,8 @@ export async function createPerson(
|
|||
|
||||
//#region Get custom emoji
|
||||
const emojis = await extractEmojis(person.tag || [], host).catch((e) => {
|
||||
logger.info(`extractEmojis:\n${inspect(e)}`);
|
||||
apLogger.info("Failed to extract emojis");
|
||||
apLogger.debug(inspect(e));
|
||||
return [] as Emoji[];
|
||||
});
|
||||
|
||||
|
@ -399,9 +399,10 @@ export async function createPerson(
|
|||
});
|
||||
//#endregion
|
||||
|
||||
await updateFeatured(user!.id, resolver).catch((err) =>
|
||||
logger.error(inspect(err)),
|
||||
);
|
||||
await updateFeatured(user!.id, resolver).catch((err) => {
|
||||
apLogger.info(`Failed to update featured collection of ${user.uri}`);
|
||||
apLogger.debug(inspect(err));
|
||||
});
|
||||
|
||||
return user!;
|
||||
}
|
||||
|
@ -439,7 +440,7 @@ export async function updatePerson(
|
|||
|
||||
const person = validateActor(object, uri);
|
||||
|
||||
logger.info(`Updating the Person: ${person.id}`);
|
||||
apLogger.info(`Updating the Person: ${person.id}`);
|
||||
|
||||
// Fetch avatar and header image
|
||||
const [avatar, banner] = await Promise.all(
|
||||
|
@ -456,7 +457,8 @@ export async function updatePerson(
|
|||
|
||||
// Custom pictogram acquisition
|
||||
const emojis = await extractEmojis(person.tag || [], user.host).catch((e) => {
|
||||
logger.info(`extractEmojis:\n${inspect(e)}`);
|
||||
apLogger.info("Failed to extract emojis");
|
||||
apLogger.debug(inspect(e));
|
||||
return [] as Emoji[];
|
||||
});
|
||||
|
||||
|
@ -626,9 +628,10 @@ export async function updatePerson(
|
|||
},
|
||||
);
|
||||
|
||||
await updateFeatured(user.id, resolver).catch((err) =>
|
||||
logger.error(inspect(err)),
|
||||
);
|
||||
await updateFeatured(user.id, resolver).catch((err) => {
|
||||
apLogger.info(`Failed to update featured collection of ${user.uri}`);
|
||||
apLogger.debug(inspect(err));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -681,7 +684,7 @@ export async function updateFeatured(userId: User["id"], resolver?: Resolver) {
|
|||
if (!Users.isRemoteUser(user)) return;
|
||||
if (!user.featured) return;
|
||||
|
||||
logger.info(`Updating the featured: ${user.uri}`);
|
||||
apLogger.info(`Updating the featured collection: ${user.uri}`);
|
||||
|
||||
if (resolver == null) resolver = new Resolver();
|
||||
|
||||
|
|
|
@ -76,12 +76,12 @@ export default class Resolver {
|
|||
throw new Error("instance is blocked");
|
||||
}
|
||||
}
|
||||
apLogger.debug("Returning existing object:");
|
||||
apLogger.debug(JSON.stringify(value, null, 2));
|
||||
apLogger.debug("Returning the existing object");
|
||||
apLogger.trace(JSON.stringify(value, null, 2));
|
||||
return value;
|
||||
}
|
||||
|
||||
apLogger.debug(`Resolving: ${value}`);
|
||||
apLogger.info(`Resolving: ${value}`);
|
||||
|
||||
if (value.includes("#")) {
|
||||
// URLs with fragment parts cannot be resolved correctly because
|
||||
|
@ -115,8 +115,10 @@ export default class Resolver {
|
|||
this.user = await getInstanceActor();
|
||||
}
|
||||
|
||||
apLogger.debug("Getting object from remote, authenticated as user:");
|
||||
apLogger.debug(JSON.stringify(this.user, null, 2));
|
||||
apLogger.info(
|
||||
`Getting object from remote, authenticated as user ${this.user.id}`,
|
||||
);
|
||||
apLogger.trace(JSON.stringify(this.user, null, 2));
|
||||
|
||||
const { finalUrl, content: object } = await apGet(value, this.user);
|
||||
|
||||
|
|
Loading…
Reference in a new issue