mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-29 12:11:09 +00:00
feat(core,cli): add debug logging infrastructure (M0-M2)
Implement debug logfile foundation for routing internal diagnostics to a per-session log file instead of polluting the terminal. Core changes: - Add DebugLogger interface and createDebugLogger() in debugLogger.ts - Add Storage.getGlobalDebugDir() and getDebugLogPath() for log paths - Add Config.getDebugLogger() method with session-scoped logger - Track write failures via isDebugLoggingDegraded() CLI changes: - Add DebugModeNotification component for interactive startup notice - Add non-interactive debug notice to stderr in gemini.tsx Log files are written to ~/.qwen/debug/<sessionId>.txt with format: 2026-01-24T10:30:00.000Z [LEVEL] [TAG] message Debug logging is always-on; debug mode only controls the startup notice.
This commit is contained in:
parent
829ba9c431
commit
ba2824b0b0
8 changed files with 409 additions and 6 deletions
|
|
@ -16,6 +16,7 @@ const TMP_DIR_NAME = 'tmp';
|
|||
const BIN_DIR_NAME = 'bin';
|
||||
const PROJECT_DIR_NAME = 'projects';
|
||||
const IDE_DIR_NAME = 'ide';
|
||||
const DEBUG_DIR_NAME = 'debug';
|
||||
|
||||
export class Storage {
|
||||
private readonly targetDir: string;
|
||||
|
|
@ -60,6 +61,14 @@ export class Storage {
|
|||
return path.join(Storage.getGlobalQwenDir(), TMP_DIR_NAME);
|
||||
}
|
||||
|
||||
static getGlobalDebugDir(): string {
|
||||
return path.join(Storage.getGlobalQwenDir(), DEBUG_DIR_NAME);
|
||||
}
|
||||
|
||||
static getDebugLogPath(sessionId: string): string {
|
||||
return path.join(Storage.getGlobalDebugDir(), `${sessionId}.txt`);
|
||||
}
|
||||
|
||||
static getGlobalIdeDir(): string {
|
||||
return path.join(Storage.getGlobalQwenDir(), IDE_DIR_NAME);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue