From 2b8c2c2b3ebd94704cd8bb871d535198842bfa07 Mon Sep 17 00:00:00 2001 From: Matt Gibson Date: Fri, 4 Dec 2020 13:58:32 -0600 Subject: [PATCH] Revert "Use logService for console messages (#214)" (#219) This reverts commit 0fed528b6f1fe640acd9c321aa488b425cdf238e. --- src/abstractions/log.service.ts | 2 - src/cli/baseProgram.ts | 2 +- src/cli/services/consoleLog.service.ts | 50 +++++++++++--- src/electron/services/electronLog.service.ts | 15 ----- src/importers/baseImporter.ts | 6 +- src/services/auth.service.ts | 11 +--- src/services/consoleLog.service.ts | 68 -------------------- src/services/crypto.service.ts | 21 +++--- src/services/notifications.service.ts | 12 +--- src/services/search.service.ts | 15 ++--- 10 files changed, 61 insertions(+), 141 deletions(-) delete mode 100644 src/services/consoleLog.service.ts diff --git a/src/abstractions/log.service.ts b/src/abstractions/log.service.ts index 6b93643625..c4cb55035e 100644 --- a/src/abstractions/log.service.ts +++ b/src/abstractions/log.service.ts @@ -6,6 +6,4 @@ export abstract class LogService { warning: (message: string) => void; error: (message: string) => void; write: (level: LogLevelType, message: string) => void; - time: (label: string) => void; - timeEnd: (label: string) => bigint; } diff --git a/src/cli/baseProgram.ts b/src/cli/baseProgram.ts index d8fa45acf3..cc58ac1844 100644 --- a/src/cli/baseProgram.ts +++ b/src/cli/baseProgram.ts @@ -18,7 +18,7 @@ export abstract class BaseProgram { if (!response.success) { if (process.env.BW_QUIET !== 'true') { if (process.env.BW_RESPONSE === 'true') { - this.writeLn(this.getJson(response), true, false); + this.writeLn(this.getJson(response), true, true); } else { this.writeLn(chalk.redBright(response.message), true, true); } diff --git a/src/cli/services/consoleLog.service.ts b/src/cli/services/consoleLog.service.ts index a7f7f39e2b..5e1904790d 100644 --- a/src/cli/services/consoleLog.service.ts +++ b/src/cli/services/consoleLog.service.ts @@ -1,10 +1,27 @@ import { LogLevelType } from '../../enums/logLevelType'; -import { ConsoleLogService as BaseConsoleLogService } from '../../services/consoleLog.service'; +import { LogService as LogServiceAbstraction } from '../../abstractions/log.service'; -export class ConsoleLogService extends BaseConsoleLogService { - constructor(isDev: boolean, filter: (level: LogLevelType) => boolean = null) { - super(isDev, filter); +export class ConsoleLogService implements LogServiceAbstraction { + constructor(private isDev: boolean, private filter: (level: LogLevelType) => boolean = null) { } + + debug(message: string) { + if (!this.isDev) { + return; + } + this.write(LogLevelType.Debug, message); + } + + info(message: string) { + this.write(LogLevelType.Info, message); + } + + warning(message: string) { + this.write(LogLevelType.Warning, message); + } + + error(message: string) { + this.write(LogLevelType.Error, message); } write(level: LogLevelType, message: string) { @@ -12,12 +29,25 @@ export class ConsoleLogService extends BaseConsoleLogService { return; } - if (process.env.BW_RESPONSE) { - // tslint:disable-next-line - console.error(message); - return; + switch (level) { + case LogLevelType.Debug: + // tslint:disable-next-line + console.log(message); + break; + case LogLevelType.Info: + // tslint:disable-next-line + console.log(message); + break; + case LogLevelType.Warning: + // tslint:disable-next-line + console.warn(message); + break; + case LogLevelType.Error: + // tslint:disable-next-line + console.error(message); + break; + default: + break; } - - super.write(level, message); } } diff --git a/src/electron/services/electronLog.service.ts b/src/electron/services/electronLog.service.ts index c01ce10218..c66a398d67 100644 --- a/src/electron/services/electronLog.service.ts +++ b/src/electron/services/electronLog.service.ts @@ -8,8 +8,6 @@ import { LogLevelType } from '../../enums/logLevelType'; import { LogService as LogServiceAbstraction } from '../../abstractions/log.service'; export class ElectronLogService implements LogServiceAbstraction { - private timersMap: Map = new Map(); - constructor(private filter: (level: LogLevelType) => boolean = null, logDir: string = null) { if (log.transports == null) { return; @@ -63,17 +61,4 @@ export class ElectronLogService implements LogServiceAbstraction { break; } } - - time(label: string = 'default') { - if (!this.timersMap.has(label)) { - this.timersMap.set(label, process.hrtime.bigint()); - } - } - - timeEnd(label: string = 'default'): bigint { - const elapsed = (process.hrtime.bigint() - this.timersMap.get(label)) / BigInt(1000000); - this.timersMap.delete(label); - this.write(LogLevelType.Info, `${label}: ${elapsed}ms`); - return elapsed; - } } diff --git a/src/importers/baseImporter.ts b/src/importers/baseImporter.ts index a966af84ce..2999227d3c 100644 --- a/src/importers/baseImporter.ts +++ b/src/importers/baseImporter.ts @@ -13,17 +13,13 @@ import { FolderView } from '../models/view/folderView'; import { LoginView } from '../models/view/loginView'; import { SecureNoteView } from '../models/view/secureNoteView'; -import { LogService } from '../abstractions/log.service'; import { CipherType } from '../enums/cipherType'; import { FieldType } from '../enums/fieldType'; import { SecureNoteType } from '../enums/secureNoteType'; -import { ConsoleLogService } from '../services/consoleLog.service'; export abstract class BaseImporter { organization = false; - protected logService: LogService = new ConsoleLogService(false); - protected newLineRegex = /(?:\r\n|\r|\n)/; protected passwordFieldNames = [ @@ -88,7 +84,7 @@ export abstract class BaseImporter { result.errors.forEach((e) => { if (e.row != null) { // tslint:disable-next-line - this.logService.warning('Error parsing row ' + e.row + ': ' + e.message); + console.warn('Error parsing row ' + e.row + ': ' + e.message); } }); } diff --git a/src/services/auth.service.ts b/src/services/auth.service.ts index fb024549d5..d8ec84277d 100644 --- a/src/services/auth.service.ts +++ b/src/services/auth.service.ts @@ -17,13 +17,11 @@ import { AppIdService } from '../abstractions/appId.service'; import { AuthService as AuthServiceAbstraction } from '../abstractions/auth.service'; import { CryptoService } from '../abstractions/crypto.service'; import { I18nService } from '../abstractions/i18n.service'; -import { LogService } from '../abstractions/log.service'; import { MessagingService } from '../abstractions/messaging.service'; import { PlatformUtilsService } from '../abstractions/platformUtils.service'; import { TokenService } from '../abstractions/token.service'; import { UserService } from '../abstractions/user.service'; import { VaultTimeoutService } from '../abstractions/vaultTimeout.service'; -import { ConsoleLogService } from '../services/consoleLog.service'; export const TwoFactorProviders = { [TwoFactorProviderType.Authenticator]: { @@ -93,12 +91,7 @@ export class AuthService implements AuthServiceAbstraction { private userService: UserService, private tokenService: TokenService, private appIdService: AppIdService, private i18nService: I18nService, private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService, - private vaultTimeoutService: VaultTimeoutService, private logService?: LogService, - private setCryptoKeys = true) { - if (!logService) { - this.logService = new ConsoleLogService(false); - } - } + private vaultTimeoutService: VaultTimeoutService, private setCryptoKeys = true) { } init() { TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle'); @@ -358,7 +351,7 @@ export class AuthService implements AuthServiceAbstraction { tokenResponse.privateKey = keyPair[1].encryptedString; } catch (e) { // tslint:disable-next-line - this.logService.error(e); + console.error(e); } } diff --git a/src/services/consoleLog.service.ts b/src/services/consoleLog.service.ts deleted file mode 100644 index 7e334c399d..0000000000 --- a/src/services/consoleLog.service.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { LogLevelType } from '../enums/logLevelType'; - -import { LogService as LogServiceAbstraction } from '../abstractions/log.service'; - -export class ConsoleLogService implements LogServiceAbstraction { - private timersMap: Map = new Map(); - - constructor(protected isDev: boolean, protected filter: (level: LogLevelType) => boolean = null) { } - - debug(message: string) { - if (!this.isDev) { - return; - } - this.write(LogLevelType.Debug, message); - } - - info(message: string) { - this.write(LogLevelType.Info, message); - } - - warning(message: string) { - this.write(LogLevelType.Warning, message); - } - - error(message: string) { - this.write(LogLevelType.Error, message); - } - - write(level: LogLevelType, message: string) { - if (this.filter != null && this.filter(level)) { - return; - } - - switch (level) { - case LogLevelType.Debug: - // tslint:disable-next-line - console.log(message); - break; - case LogLevelType.Info: - // tslint:disable-next-line - console.log(message); - break; - case LogLevelType.Warning: - // tslint:disable-next-line - console.warn(message); - break; - case LogLevelType.Error: - // tslint:disable-next-line - console.error(message); - break; - default: - break; - } - } - - time(label: string = 'default') { - if (!this.timersMap.has(label)) { - this.timersMap.set(label, process.hrtime.bigint()); - } - } - - timeEnd(label: string = 'default'): bigint { - const elapsed = (process.hrtime.bigint() - this.timersMap.get(label)) / BigInt(1000000); - this.timersMap.delete(label); - this.write(LogLevelType.Info, `${label}: ${elapsed}ms`); - return elapsed; - } -} diff --git a/src/services/crypto.service.ts b/src/services/crypto.service.ts index 250f1fc937..edc63862df 100644 --- a/src/services/crypto.service.ts +++ b/src/services/crypto.service.ts @@ -10,10 +10,8 @@ import { ProfileOrganizationResponse } from '../models/response/profileOrganizat import { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service'; import { CryptoFunctionService } from '../abstractions/cryptoFunction.service'; -import { LogService } from '../abstractions/log.service'; import { PlatformUtilsService } from '../abstractions/platformUtils.service'; import { StorageService } from '../abstractions/storage.service'; -import { ConsoleLogService } from '../services/consoleLog.service'; import { ConstantsService } from './constants.service'; @@ -39,12 +37,7 @@ export class CryptoService implements CryptoServiceAbstraction { private orgKeys: Map; constructor(private storageService: StorageService, private secureStorageService: StorageService, - private cryptoFunctionService: CryptoFunctionService, private platformUtilService: PlatformUtilsService, - private logService?: LogService) { - if (!logService) { - this.logService = new ConsoleLogService(false); - } - } + private cryptoFunctionService: CryptoFunctionService, private platformUtilService: PlatformUtilsService) { } async setKey(key: SymmetricCryptoKey): Promise { this.key = key; @@ -553,12 +546,14 @@ export class CryptoService implements CryptoServiceAbstraction { const theKey = this.resolveLegacyKey(encType, keyForEnc); if (theKey.macKey != null && mac == null) { - this.logService.error('mac required.'); + // tslint:disable-next-line + console.error('mac required.'); return null; } if (theKey.encType !== encType) { - this.logService.error('encType unavailable.'); + // tslint:disable-next-line + console.error('encType unavailable.'); return null; } @@ -568,7 +563,8 @@ export class CryptoService implements CryptoServiceAbstraction { fastParams.macKey, 'sha256'); const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac); if (!macsEqual) { - this.logService.error('mac failed.'); + // tslint:disable-next-line + console.error('mac failed.'); return null; } } @@ -600,7 +596,8 @@ export class CryptoService implements CryptoServiceAbstraction { const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac); if (!macsMatch) { - this.logService.error('mac failed.'); + // tslint:disable-next-line + console.error('mac failed.'); return null; } } diff --git a/src/services/notifications.service.ts b/src/services/notifications.service.ts index 9c615a8a43..5f5026ad6e 100644 --- a/src/services/notifications.service.ts +++ b/src/services/notifications.service.ts @@ -6,12 +6,10 @@ import { NotificationType } from '../enums/notificationType'; import { ApiService } from '../abstractions/api.service'; import { AppIdService } from '../abstractions/appId.service'; import { EnvironmentService } from '../abstractions/environment.service'; -import { LogService } from '../abstractions/log.service' import { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service'; import { SyncService } from '../abstractions/sync.service'; import { UserService } from '../abstractions/user.service'; import { VaultTimeoutService } from '../abstractions/vaultTimeout.service'; -import { ConsoleLogService } from '../services/consoleLog.service'; import { NotificationResponse, @@ -29,12 +27,7 @@ export class NotificationsService implements NotificationsServiceAbstraction { constructor(private userService: UserService, private syncService: SyncService, private appIdService: AppIdService, private apiService: ApiService, - private vaultTimeoutService: VaultTimeoutService, - private logoutCallback: () => Promise, private logService?: LogService) { - if (!logService) { - this.logService = new ConsoleLogService(false); - } - } + private vaultTimeoutService: VaultTimeoutService, private logoutCallback: () => Promise) { } async init(environmentService: EnvironmentService): Promise { this.inited = false; @@ -94,7 +87,8 @@ export class NotificationsService implements NotificationsServiceAbstraction { await this.signalrConnection.stop(); } } catch (e) { - this.logService.error(e.toString()) + // tslint:disable-next-line + console.error(e.toString()); } } diff --git a/src/services/search.service.ts b/src/services/search.service.ts index 2067637a90..4b992d54f3 100644 --- a/src/services/search.service.ts +++ b/src/services/search.service.ts @@ -5,20 +5,15 @@ import { CipherView } from '../models/view/cipherView'; import { CipherService } from '../abstractions/cipher.service'; import { SearchService as SearchServiceAbstraction } from '../abstractions/search.service'; -import { LogService } from '../abstractions/log.service'; import { CipherType } from '../enums/cipherType'; import { FieldType } from '../enums/fieldType'; import { UriMatchType } from '../enums/uriMatchType'; -import { ConsoleLogService } from '../services/consoleLog.service'; export class SearchService implements SearchServiceAbstraction { private indexing = false; private index: lunr.Index = null; - constructor(private cipherService: CipherService, private logService?: LogService) { - if (!logService) { - this.logService = new ConsoleLogService(false); - } + constructor(private cipherService: CipherService) { } clearIndex(): void { @@ -35,8 +30,8 @@ export class SearchService implements SearchServiceAbstraction { if (this.indexing) { return; } - - this.logService.time('search indexing'); + // tslint:disable-next-line + console.time('search indexing'); this.indexing = true; this.index = null; const builder = new lunr.Builder(); @@ -67,8 +62,8 @@ export class SearchService implements SearchServiceAbstraction { ciphers.forEach((c) => builder.add(c)); this.index = builder.build(); this.indexing = false; - - this.logService.timeEnd('search indexing'); + // tslint:disable-next-line + console.timeEnd('search indexing'); } async searchCiphers(query: string,