From 0a2f5902dbddf295918e55bdb47fe23b8e8c47b2 Mon Sep 17 00:00:00 2001 From: Joe Hanley Date: Tue, 8 Oct 2024 13:41:57 -0700 Subject: [PATCH 1/3] Centralize logs when not in a firebase directory --- firebase-vscode/CHANGELOG.md | 2 ++ firebase-vscode/src/logger-wrapper.ts | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/firebase-vscode/CHANGELOG.md b/firebase-vscode/CHANGELOG.md index c912dfd1d10..f61fc46b10c 100644 --- a/firebase-vscode/CHANGELOG.md +++ b/firebase-vscode/CHANGELOG.md @@ -1,5 +1,7 @@ ## NEXT +- Fixed an issue where log files would be written to non-Firebase directories. + ## 0.10.3 - Updated internal firebase-tools dependency to 13.21.0 diff --git a/firebase-vscode/src/logger-wrapper.ts b/firebase-vscode/src/logger-wrapper.ts index ec3681557d2..137ac26797c 100644 --- a/firebase-vscode/src/logger-wrapper.ts +++ b/firebase-vscode/src/logger-wrapper.ts @@ -1,5 +1,6 @@ import * as path from "path"; import * as vscode from "vscode"; +import * as fs from "fs"; import { transports, format } from "winston"; import Transport from "winston-transport"; import stripAnsi from "strip-ansi"; @@ -45,7 +46,11 @@ export function logSetup() { // Re-implement file logger call from ../../src/bin/firebase.ts to not bring // in the entire firebase.ts file const rootFolders = getRootFolders(); - const filePath = path.join(rootFolders[0], ".firebase", "logs", "vsce-debug.log"); + // Default to a central path, but write files to a local path if we're in a Firebase directory. + let filePath = "~/.cache/firebase/vscode/vsce-debug.log"; + if (fs.existsSync(path.join(rootFolders[0], "firebase.json")) { + filePath = path.join(rootFolders[0], ".firebase", "logs", "vsce-debug.log"); + } pluginLogger.info("Logging to path", filePath); cliLogger.add( new transports.File({ From 30243791e39c08cb79b913475909e34ed423589a Mon Sep 17 00:00:00 2001 From: Joe Hanley Date: Tue, 8 Oct 2024 14:01:26 -0700 Subject: [PATCH 2/3] PR fixes --- firebase-vscode/src/logger-wrapper.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/firebase-vscode/src/logger-wrapper.ts b/firebase-vscode/src/logger-wrapper.ts index 137ac26797c..52060a2ee32 100644 --- a/firebase-vscode/src/logger-wrapper.ts +++ b/firebase-vscode/src/logger-wrapper.ts @@ -47,8 +47,8 @@ export function logSetup() { // in the entire firebase.ts file const rootFolders = getRootFolders(); // Default to a central path, but write files to a local path if we're in a Firebase directory. - let filePath = "~/.cache/firebase/vscode/vsce-debug.log"; - if (fs.existsSync(path.join(rootFolders[0], "firebase.json")) { + let filePath = path.join("~", ".cache", "firebase", "logs", "vsce-debug.log"); + if (fs.existsSync(path.join(rootFolders[0], "firebase.json"))) { filePath = path.join(rootFolders[0], ".firebase", "logs", "vsce-debug.log"); } pluginLogger.info("Logging to path", filePath); From 9f95655b0c1800619c0c6d514b5b6e001cdcdb06 Mon Sep 17 00:00:00 2001 From: Joe Hanley Date: Tue, 8 Oct 2024 14:19:31 -0700 Subject: [PATCH 3/3] PR fixes --- firebase-vscode/src/logger-wrapper.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/firebase-vscode/src/logger-wrapper.ts b/firebase-vscode/src/logger-wrapper.ts index 52060a2ee32..1e9441e45e3 100644 --- a/firebase-vscode/src/logger-wrapper.ts +++ b/firebase-vscode/src/logger-wrapper.ts @@ -1,6 +1,7 @@ import * as path from "path"; import * as vscode from "vscode"; import * as fs from "fs"; +import * as os from "os"; import { transports, format } from "winston"; import Transport from "winston-transport"; import stripAnsi from "strip-ansi"; @@ -47,7 +48,7 @@ export function logSetup() { // in the entire firebase.ts file const rootFolders = getRootFolders(); // Default to a central path, but write files to a local path if we're in a Firebase directory. - let filePath = path.join("~", ".cache", "firebase", "logs", "vsce-debug.log"); + let filePath = path.join(os.homedir(), ".cache", "firebase", "logs", "vsce-debug.log"); if (fs.existsSync(path.join(rootFolders[0], "firebase.json"))) { filePath = path.join(rootFolders[0], ".firebase", "logs", "vsce-debug.log"); }