[MM-41999] Add additional logging for debugging, allow users to change log level (#2031)

* Add debug logging switch

* Add tests

* Mock electron-log globally in jest

* New logs for debugging

* Switch to a dropdown to choose log levels

* Fix tests

* Update wording
This commit is contained in:
Devin Binnie
2022-03-31 16:46:57 -04:00
committed by GitHub
parent 7c1fa2c78d
commit 626fea84a5
49 changed files with 261 additions and 108 deletions

View File

@@ -2,7 +2,7 @@
// See LICENSE.txt for license information.
import {app, ipcMain} from 'electron';
import log from 'electron-log';
import log, {LogLevel} from 'electron-log';
import {CombinedConfig} from 'types/config';
@@ -15,7 +15,7 @@ import {refreshTrayImages} from 'main/tray/tray';
import WindowManager from 'main/windows/windowManager';
import {addNewServerModalWhenMainWindowIsShown} from './intercom';
import {handleUpdateMenuEvent, updateServerInfos, updateSpellCheckerLocales} from './utils';
import {handleUpdateMenuEvent, setLoggingLevel, updateServerInfos, updateSpellCheckerLocales} from './utils';
let didCheckForAddServerModal = false;
@@ -24,6 +24,9 @@ let didCheckForAddServerModal = false;
//
export function handleConfigUpdate(newConfig: CombinedConfig) {
log.debug('App.Config.handleConfigUpdate');
log.silly('App.Config.handleConfigUpdate', newConfig);
if (!newConfig) {
return;
}
@@ -62,11 +65,16 @@ export function handleConfigUpdate(newConfig: CombinedConfig) {
}
}
log.info('Log level set to:', newConfig.logLevel);
setLoggingLevel(newConfig.logLevel as LogLevel);
handleUpdateMenuEvent();
ipcMain.emit(EMIT_CONFIGURATION, true, newConfig);
}
export function handleDarkModeChange(darkMode: boolean) {
log.debug('App.Config.handleDarkModeChange', darkMode);
refreshTrayImages(Config.trayIconTheme);
WindowManager.sendToRenderer(DARK_MODE_CHANGE, darkMode);
WindowManager.updateLoadingScreenDarkMode(darkMode);