- 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.
16 lines
586 B
TypeScript
16 lines
586 B
TypeScript
import log from 'electron-log/main';
|
|
import { Logger } from '@/application/Common/Log/Logger';
|
|
import type { LogFunctions } from 'electron-log';
|
|
|
|
// Using plain-function rather than class so it can be used in Electron's context-bridging.
|
|
export function createElectronLogger(logger: LogFunctions = log): Logger {
|
|
return {
|
|
info: (...params) => logger.info(...params),
|
|
debug: (...params) => logger.debug(...params),
|
|
warn: (...params) => logger.warn(...params),
|
|
error: (...params) => logger.error(...params),
|
|
};
|
|
}
|
|
|
|
export const ElectronLogger = createElectronLogger();
|