- Migrate to `electron-log` v5.X.X, centralizing log files to adhere to best-practices. - Add critical event logging in the log file. - Replace `ElectronLog` type with `LogFunctions` for better abstraction. - Unify log handling in `desktop-runtime-error` by removing `renderer.log` due to `electron-log` v5 changes. - Update and extend logger interfaces, removing 'I' prefix and adding common log levels to abstract `electron-log` completely. - Move logger interfaces to the application layer as it's cross-cutting concern, meanwhile keeping the implementations in the infrastructure layer. - Introduce `useLogger` hook for easier logging in Vue components. - Simplify `WindowVariables` by removing nullable properties. - Improve documentation to clearly differentiate between desktop and web versions, outlining specific features of each.
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
import { OperatingSystem } from '@/domain/OperatingSystem';
|
|
import { Logger } from '@/application/Common/Log/Logger';
|
|
import { ISystemOperations } from '@/infrastructure/SystemOperations/ISystemOperations';
|
|
import { WindowVariables } from '@/infrastructure/WindowVariables/WindowVariables';
|
|
import { SystemOperationsStub } from './SystemOperationsStub';
|
|
import { LoggerStub } from './LoggerStub';
|
|
|
|
export class WindowVariablesStub implements WindowVariables {
|
|
public system?: ISystemOperations = new SystemOperationsStub();
|
|
|
|
public isDesktop = false;
|
|
|
|
public os?: OperatingSystem = OperatingSystem.BlackBerryOS;
|
|
|
|
public log: Logger = new LoggerStub();
|
|
|
|
public withLog(log: Logger): this {
|
|
this.log = log;
|
|
return this;
|
|
}
|
|
|
|
public withIsDesktop(value: boolean): this {
|
|
this.isDesktop = value;
|
|
return this;
|
|
}
|
|
|
|
public withOs(value: OperatingSystem | undefined): this {
|
|
this.os = value;
|
|
return this;
|
|
}
|
|
|
|
public withSystem(value?: ISystemOperations): this {
|
|
this.system = value;
|
|
return this;
|
|
}
|
|
}
|