insomnia/packages/insomnia-app/app/common/log.ts
Dimitri Mitropoulos 5f4c19da35
[TypeScript] Phase 1 & 2 (#3370)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-05-12 18:35:00 +12:00

31 lines
1.0 KiB
TypeScript

import log from 'electron-log';
import { isDevelopment } from './constants';
import { dirname } from 'path';
export const initializeLogging = () => {
if (isDevelopment()) {
// Disable file logging during development
log.transports.file.level = false;
} else {
const fileTransport = log.transports.file;
const logFile = fileTransport.getFile();
// Set the max log file size to 10mb
// When the log file exceeds this limit, it will be rotated to {file name}.old.log file.
fileTransport.maxSize = 1024 * 1024 * 10;
// Rotate the log file every time we start the app
// @ts-expect-error -- TSCONVERSION seems like something is wrong here but I don't want to convert to string until I can take a closer look
fileTransport.archiveLog(logFile);
logFile.clear();
}
// Overwrite the console.log/warn/etc methods
Object.assign(console, log.functions);
};
export function getLogDirectory() {
const logPath = log.transports.file.getFile().path;
return dirname(logPath);
}
export default log;