diff --git a/src/app/(marketing)/contact/actions.ts b/src/app/(marketing)/contact/actions.ts index 24403b4..a48f0af 100644 --- a/src/app/(marketing)/contact/actions.ts +++ b/src/app/(marketing)/contact/actions.ts @@ -2,6 +2,9 @@ import { Resend } from 'resend'; import { z } from 'zod'; +import { logger } from '@/lib/logger'; + +const log = logger.child('ContactForm'); const companyEmail = process.env.COMPANY_EMAIL || 'contact@novalon.cn'; @@ -69,14 +72,14 @@ export async function submitContactForm( const data = validationResult.data; if (data.website) { - console.log('Honeypot field filled, rejecting request'); + log.warn('Honeypot field filled, rejecting request'); return { success: true, message: '消息已发送' }; } if (data.submitTime) { const timeDiff = Date.now() - parseInt(data.submitTime); if (timeDiff < 2000) { - console.log('Submission too fast:', timeDiff); + log.warn('Submission too fast:', timeDiff); return { success: false, error: '提交过快,请稍后再试' }; } } @@ -84,7 +87,7 @@ export async function submitContactForm( if (data.mathHash && data.mathTimestamp && data.mathAnswer !== undefined) { const expectedHash = btoa(`${data.mathAnswer}-${data.mathTimestamp}`); if (expectedHash !== data.mathHash) { - console.log('Invalid math captcha'); + log.warn('Invalid math captcha'); return { success: false, error: '验证码错误,请重新计算' }; } } @@ -269,7 +272,7 @@ export async function submitContactForm( return { success: false, error: '邮件发送失败,请稍后重试' }; } - console.log('Email sent successfully:', emailData); + log.info('Email sent successfully:', emailData); return { success: true, message: '消息已发送' }; } catch (error) { console.error('Contact form submission error:', error); diff --git a/src/app/admin/users/page.tsx b/src/app/admin/users/page.tsx index bc537a7..eb5f854 100644 --- a/src/app/admin/users/page.tsx +++ b/src/app/admin/users/page.tsx @@ -1,6 +1,9 @@ 'use client'; import { useState, useEffect } from 'react'; +import { logger } from '@/lib/logger'; + +const log = logger.child('AdminUsers'); import { Users as UsersIcon, Plus, @@ -96,7 +99,7 @@ export default function UsersPage() { const handleDelete = async (userId: string) => { if (deletingUserId) { - console.log('删除操作正在进行中,请勿重复点击'); + log.warn('删除操作正在进行中,请勿重复点击'); return; } diff --git a/src/components/analytics/GoogleAnalytics.tsx b/src/components/analytics/GoogleAnalytics.tsx index a8914b5..adfb761 100644 --- a/src/components/analytics/GoogleAnalytics.tsx +++ b/src/components/analytics/GoogleAnalytics.tsx @@ -3,11 +3,14 @@ import Script from 'next/script'; import { useEffect } from 'react'; import { GA_MEASUREMENT_ID } from '@/lib/analytics'; +import { logger } from '@/lib/logger'; + +const log = logger.child('GoogleAnalytics'); export function GoogleAnalytics() { useEffect(() => { if (GA_MEASUREMENT_ID) { - console.log('Google Analytics initialized:', GA_MEASUREMENT_ID); + log.info('Google Analytics initialized:', GA_MEASUREMENT_ID); } }, []); diff --git a/src/components/analytics/web-vitals.tsx b/src/components/analytics/web-vitals.tsx index 8dfd445..dc832a1 100644 --- a/src/components/analytics/web-vitals.tsx +++ b/src/components/analytics/web-vitals.tsx @@ -1,11 +1,14 @@ 'use client'; import { useReportWebVitals } from 'next/web-vitals'; +import { logger } from '@/lib/logger'; + +const log = logger.child('WebVitals'); export function WebVitals() { useReportWebVitals((metric) => { if (process.env.NODE_ENV === 'development') { - console.log('[Web Vitals]', metric); + log.debug('[Web Vitals]', metric); } if (process.env.NODE_ENV === 'production') {