refactor: atomic, DRY, and logging improvements across codebase
- Split llmModerationClient.ts (2170 lines) into 5 focused sub-modules - Split aiAnalyzer.ts (1282 lines) into 4 modular pipelines - Split messages.db.ts (826 lines) into 5 domain-specific modules - Moved shared schema to @bete/shared, eliminated backend duplication - Added createChildLogger to all voice-recording and AI moderation modules - Extracted tryCommandThenFallback, normalizeMediaState, DEFAULT_VOICE_STATUS - Created shared pagination.ts utility, eliminated 5+ cursor-pagination duplications - Created shared messageMapper.ts for row mapping - Standardized backend error handling with asyncHandler - Added frontend createLogger utility and useAsyncAction hook - Added structured logging to frontend hooks, socket, and API client Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b68789fffc
commit
07032ab521
@@ -0,0 +1,22 @@
|
||||
// ─── Client-side structured logger ────────────────────────────────────────
|
||||
|
||||
const LOG_PREFIX = "[Bete]";
|
||||
|
||||
export function createLogger(context: string) {
|
||||
const prefix = `${LOG_PREFIX} [${context}]`;
|
||||
|
||||
return {
|
||||
debug: (msg: string, data?: Record<string, unknown>) => {
|
||||
if (import.meta.env.DEV) console.debug(prefix, msg, data ?? "");
|
||||
},
|
||||
info: (msg: string, data?: Record<string, unknown>) => {
|
||||
console.info(prefix, msg, data ?? "");
|
||||
},
|
||||
warn: (msg: string, data?: Record<string, unknown>) => {
|
||||
console.warn(prefix, msg, data ?? "");
|
||||
},
|
||||
error: (msg: string, data?: Record<string, unknown>) => {
|
||||
console.error(prefix, msg, data ?? "");
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user