mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-15 12:23:51 +00:00
refactor: escalate severe to electron
This commit is contained in:
committed by
Carlos Valente
parent
d41cd78f2e
commit
8742b790f3
@@ -153,9 +153,10 @@ export const initAssets = async () => {
|
||||
|
||||
/**
|
||||
* Starts servers
|
||||
* @return {Promise<string>}
|
||||
*/
|
||||
export const startServer = async () => {
|
||||
export const startServer = async (
|
||||
escalateErrorFn?: (error: string) => void,
|
||||
): Promise<{ message: string; serverPort: number }> => {
|
||||
checkStart(OntimeStartOrder.InitServer);
|
||||
|
||||
const { serverPort } = DataProvider.getSettings();
|
||||
@@ -185,6 +186,9 @@ export const startServer = async () => {
|
||||
},
|
||||
});
|
||||
|
||||
// initialise logging service, escalateErrorFn is only exists in electron
|
||||
logger.init(escalateErrorFn);
|
||||
|
||||
// initialise rundown service
|
||||
const persistedRundown = DataProvider.getRundown();
|
||||
const persistedCustomFields = DataProvider.getCustomFields();
|
||||
|
||||
@@ -8,19 +8,26 @@ import { consoleRed } from '../utils/console.js';
|
||||
|
||||
class Logger {
|
||||
private queue: Log[];
|
||||
private escalateErrorFn: (error: string) => void | null;
|
||||
|
||||
constructor() {
|
||||
this.queue = [];
|
||||
this.escalateErrorFn = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enabling setup logger after init
|
||||
*/
|
||||
init() {
|
||||
init(escalateErrorFn: (error: string) => void) {
|
||||
this.queue.forEach((log) => {
|
||||
this._push(log);
|
||||
});
|
||||
this.queue = [];
|
||||
|
||||
// we only get this when running in electron
|
||||
if (escalateErrorFn) {
|
||||
this.escalateErrorFn = escalateErrorFn;
|
||||
}
|
||||
}
|
||||
|
||||
private addToQueue(log: Log) {
|
||||
@@ -105,6 +112,7 @@ class Logger {
|
||||
*/
|
||||
crash(origin: string, text: string) {
|
||||
this.emit(LogLevel.Severe, origin, text);
|
||||
this.escalateErrorFn?.(text);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user