- 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.
19 lines
709 B
TypeScript
19 lines
709 B
TypeScript
import { createNodeSystemOperations } from '@/infrastructure/SystemOperations/NodeSystemOperations';
|
|
import { createElectronLogger } from '@/infrastructure/Log/ElectronLogger';
|
|
import { Logger } from '@/application/Common/Log/Logger';
|
|
import { WindowVariables } from '@/infrastructure/WindowVariables/WindowVariables';
|
|
import { convertPlatformToOs } from './NodeOsMapper';
|
|
|
|
export function provideWindowVariables(
|
|
createSystem = createNodeSystemOperations,
|
|
createLogger: () => Logger = () => createElectronLogger(),
|
|
convertToOs = convertPlatformToOs,
|
|
): WindowVariables {
|
|
return {
|
|
system: createSystem(),
|
|
isDesktop: true,
|
|
log: createLogger(),
|
|
os: convertToOs(process.platform),
|
|
};
|
|
}
|