diff options
Diffstat (limited to 'packages/cli/src/ui/hooks/useLogger.ts')
| -rw-r--r-- | packages/cli/src/ui/hooks/useLogger.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/cli/src/ui/hooks/useLogger.ts b/packages/cli/src/ui/hooks/useLogger.ts new file mode 100644 index 00000000..080c3da9 --- /dev/null +++ b/packages/cli/src/ui/hooks/useLogger.ts @@ -0,0 +1,32 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { useState, useEffect } from 'react'; +import { Logger } from '@gemini-code/server'; + +/** + * Hook to manage the logger instance. + */ +export const useLogger = () => { + const [logger, setLogger] = useState<Logger | null>(null); + + useEffect(() => { + const newLogger = new Logger(); + /** + * Start async initialization, no need to await. Using await slows down the + * time from launch to see the gemini-cli prompt and it's better to not save + * messages than for the cli to hanging waiting for the logger to loading. + */ + newLogger + .initialize() + .then(() => { + setLogger(newLogger); + }) + .catch(() => {}); + }, []); + + return logger; +}; |
