Centralize log file and refactor desktop logging
- 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.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { Logger } from '@/application/Common/Log/Logger';
|
||||
import { WindowVariables } from '../WindowVariables/WindowVariables';
|
||||
import { ILogger } from './ILogger';
|
||||
|
||||
export class WindowInjectedLogger implements ILogger {
|
||||
private readonly logger: ILogger;
|
||||
export class WindowInjectedLogger implements Logger {
|
||||
private readonly logger: Logger;
|
||||
|
||||
constructor(windowVariables: WindowVariables | undefined | null = window) {
|
||||
if (!windowVariables) { // do not trust strict null checks for global objects
|
||||
@@ -17,4 +17,16 @@ export class WindowInjectedLogger implements ILogger {
|
||||
public info(...params: unknown[]): void {
|
||||
this.logger.info(...params);
|
||||
}
|
||||
|
||||
public warn(...params: unknown[]): void {
|
||||
this.logger.warn(...params);
|
||||
}
|
||||
|
||||
public debug(...params: unknown[]): void {
|
||||
this.logger.debug(...params);
|
||||
}
|
||||
|
||||
public error(...params: unknown[]): void {
|
||||
this.logger.error(...params);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user