feat: improve logging
This commit is contained in:
@@ -116,7 +116,11 @@ Output ONLY the enhanced prompt, nothing else.`;
|
||||
|
||||
return prompt;
|
||||
} catch (error) {
|
||||
logger.error("AI prompt enhancement error", error);
|
||||
logger.error("AI prompt enhancement error", {
|
||||
promptLength: prompt.length,
|
||||
style,
|
||||
});
|
||||
logger.error("Prompt enhancement error details", error);
|
||||
return prompt;
|
||||
}
|
||||
}
|
||||
@@ -235,7 +239,14 @@ export class ImageGenService {
|
||||
prompt: finalPrompt,
|
||||
};
|
||||
} catch (error) {
|
||||
logger.error("Image generation failed", error);
|
||||
logger.error("Image generation failed", {
|
||||
model: modelId,
|
||||
promptLength: finalPrompt.length,
|
||||
size,
|
||||
nsfw,
|
||||
numImages,
|
||||
});
|
||||
logger.error("Image generation error details", error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,10 +45,11 @@ export class OpenRouterProvider implements AiProvider {
|
||||
|
||||
async ask(options: AskOptions): Promise<AiResponse> {
|
||||
const { prompt, systemPrompt, maxTokens, temperature } = options;
|
||||
const model = config.ai.model;
|
||||
|
||||
try {
|
||||
const completion = await this.client.chat.completions.create({
|
||||
model: config.ai.model,
|
||||
model,
|
||||
messages: [
|
||||
{ role: "system", content: systemPrompt },
|
||||
{ role: "user", content: prompt },
|
||||
@@ -62,7 +63,13 @@ export class OpenRouterProvider implements AiProvider {
|
||||
// Discord message limit safety
|
||||
return { text: text.slice(0, 1900) };
|
||||
} catch (error: unknown) {
|
||||
logger.error("Failed to generate response", error);
|
||||
logger.error("Failed to generate response (ask)", {
|
||||
method: "ask",
|
||||
model,
|
||||
promptLength: prompt.length,
|
||||
...(error instanceof Error ? {} : { rawError: error }),
|
||||
});
|
||||
logger.error("API error details", error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -146,7 +153,15 @@ export class OpenRouterProvider implements AiProvider {
|
||||
|
||||
return { text: text.slice(0, 1900) };
|
||||
} catch (error: unknown) {
|
||||
logger.error("Failed to generate response with tools", error);
|
||||
logger.error("Failed to generate response with tools (askWithTools)", {
|
||||
method: "askWithTools",
|
||||
model: config.ai.model,
|
||||
iteration: iterations,
|
||||
messageCount: messages.length,
|
||||
toolCount: tools.length,
|
||||
...(error instanceof Error ? {} : { rawError: error }),
|
||||
});
|
||||
logger.error("API error details", error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -208,7 +223,13 @@ The user's Discord ID is: ${context.userId}`;
|
||||
}
|
||||
} catch (error) {
|
||||
// Don't throw - memory extraction is non-critical
|
||||
logger.error("Memory extraction failed", error);
|
||||
logger.error("Memory extraction failed", {
|
||||
method: "extractMemories",
|
||||
model: config.ai.model,
|
||||
authorName,
|
||||
messageLength: message.length,
|
||||
});
|
||||
logger.error("Memory extraction error details", error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -251,7 +272,12 @@ Category:`,
|
||||
logger.debug("Classification returned invalid style, defaulting to snarky", { result });
|
||||
return "snarky";
|
||||
} catch (error) {
|
||||
logger.error("Failed to classify message", error);
|
||||
logger.error("Failed to classify message", {
|
||||
method: "classifyMessage",
|
||||
model: config.ai.classificationModel,
|
||||
messageLength: message.length,
|
||||
});
|
||||
logger.error("Classification error details", error);
|
||||
return "snarky"; // Default to snarky on error
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user