mirror of
https://github.com/bitwarden/browser
synced 2025-12-19 09:43:23 +00:00
Support for logging from NAPI (#14335)
* Support for log to electron console from NAPI * Fix test mock
This commit is contained in:
@@ -7,6 +7,7 @@ import log from "electron-log/main";
|
||||
|
||||
import { LogLevelType } from "@bitwarden/common/platform/enums/log-level-type.enum";
|
||||
import { ConsoleLogService as BaseLogService } from "@bitwarden/common/platform/services/console-log.service";
|
||||
import { logging } from "@bitwarden/desktop-napi";
|
||||
|
||||
import { isDev } from "../../utils";
|
||||
|
||||
@@ -30,6 +31,29 @@ export class ElectronLogMainService extends BaseLogService {
|
||||
ipcMain.handle("ipc.log", (_event, { level, message, optionalParams }) => {
|
||||
this.write(level, message, ...optionalParams);
|
||||
});
|
||||
|
||||
logging.initNapiLog((error, level, message) => this.writeNapiLog(level, message));
|
||||
}
|
||||
|
||||
private writeNapiLog(level: logging.LogLevel, message: string) {
|
||||
let levelType: LogLevelType;
|
||||
|
||||
switch (level) {
|
||||
case logging.LogLevel.Debug:
|
||||
levelType = LogLevelType.Debug;
|
||||
break;
|
||||
case logging.LogLevel.Warn:
|
||||
levelType = LogLevelType.Warning;
|
||||
break;
|
||||
case logging.LogLevel.Error:
|
||||
levelType = LogLevelType.Error;
|
||||
break;
|
||||
default:
|
||||
levelType = LogLevelType.Info;
|
||||
break;
|
||||
}
|
||||
|
||||
this.write(levelType, "[NAPI] " + message);
|
||||
}
|
||||
|
||||
write(level: LogLevelType, message?: any, ...optionalParams: any[]) {
|
||||
|
||||
@@ -5,6 +5,14 @@ jest.mock("electron", () => ({
|
||||
ipcMain: { handle: jest.fn(), on: jest.fn() },
|
||||
}));
|
||||
|
||||
jest.mock("@bitwarden/desktop-napi", () => {
|
||||
return {
|
||||
logging: {
|
||||
initNapiLog: jest.fn(),
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
describe("ElectronLogMainService", () => {
|
||||
it("sets dev based on electron method", () => {
|
||||
process.env.ELECTRON_IS_DEV = "1";
|
||||
|
||||
Reference in New Issue
Block a user