feat: add detailed logging for debugging and monitoring

This commit is contained in:
2025-06-04 12:38:18 +09:00
parent 4d6c482f00
commit 08b11ae549
2 changed files with 14 additions and 1 deletions

View File

@ -68,8 +68,12 @@ async function main() {
} }
const already = await markAsProcessed(url, finalItemId); const already = await markAsProcessed(url, finalItemId);
if (already) continue; if (already) {
console.log(`既に処理済み: ${finalItemId}`);
continue;
}
console.log(`スクリプト生成開始: ${finalItemId}`);
const scriptText = await openAI_GenerateScript({ const scriptText = await openAI_GenerateScript({
title: item.title ?? "", title: item.title ?? "",
link: item.link ?? "", link: item.link ?? "",
@ -83,6 +87,8 @@ async function main() {
const audioFilePath = await generateTTS(uniqueFilename, scriptText); const audioFilePath = await generateTTS(uniqueFilename, scriptText);
console.log(`音声ファイル生成完了: ${audioFilePath}`);
await saveEpisode({ await saveEpisode({
id: finalItemId, id: finalItemId,
title: item.title ?? "", title: item.title ?? "",
@ -90,6 +96,8 @@ async function main() {
audioPath: audioFilePath, audioPath: audioFilePath,
sourceLink: item.link ?? "", sourceLink: item.link ?? "",
}); });
console.log(`エピソード保存完了: ${finalItemId}`);
} }
} }
} }

View File

@ -18,6 +18,7 @@ export async function generateTTS(
itemId: string, itemId: string,
scriptText: string, scriptText: string,
): Promise<string> { ): Promise<string> {
console.log(`TTS生成開始: ${itemId}`);
const encodedText = encodeURIComponent(scriptText); const encodedText = encodeURIComponent(scriptText);
const queryUrl = `${VOICEVOX_HOST}/audio_query?text=${encodedText}&speaker=${defaultVoiceStyle.styleId}`; const queryUrl = `${VOICEVOX_HOST}/audio_query?text=${encodedText}&speaker=${defaultVoiceStyle.styleId}`;
@ -37,6 +38,7 @@ export async function generateTTS(
const audioQuery = await queryResponse.json(); const audioQuery = await queryResponse.json();
console.log(`音声合成開始: ${itemId}`);
const audioResponse = await fetch(synthesisUrl, { const audioResponse = await fetch(synthesisUrl, {
method: "POST", method: "POST",
headers: { headers: {
@ -46,6 +48,7 @@ export async function generateTTS(
}); });
if (!audioResponse.ok) { if (!audioResponse.ok) {
console.error(`音声合成失敗: ${itemId}`);
throw new Error("VOICEVOX 音声合成に失敗しました"); throw new Error("VOICEVOX 音声合成に失敗しました");
} }
@ -59,7 +62,9 @@ export async function generateTTS(
} }
const filePath = path.resolve(outputDir, itemId); // Use the provided filename directly const filePath = path.resolve(outputDir, itemId); // Use the provided filename directly
console.log(`音声ファイル保存開始: ${filePath}`);
fs.writeFileSync(filePath, audioBuffer); fs.writeFileSync(filePath, audioBuffer);
console.log(`音声ファイル保存完了: ${filePath}`);
return filePath; return filePath;
} }