mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2025-12-06 02:30:47 -08:00
58 lines
1.7 KiB
TypeScript
58 lines
1.7 KiB
TypeScript
import { LOG_FOLDER } from '@/constants/appPaths';
|
|
import winston, { format } from 'winston';
|
|
import RendererTransport from './rendererTransport';
|
|
import 'winston-daily-rotate-file';
|
|
import { levels } from '@/constants/logger';
|
|
|
|
export * from './wikiOutput';
|
|
|
|
export type ILogLevels = keyof typeof levels;
|
|
const logger = (
|
|
process.env.NODE_ENV === 'test'
|
|
? Object.assign(console, {
|
|
emerg: console.error.bind(console),
|
|
alert: console.error.bind(console),
|
|
crit: console.error.bind(console),
|
|
warning: console.warn.bind(console),
|
|
notice: console.log.bind(console),
|
|
debug: console.log.bind(console),
|
|
close: () => {},
|
|
})
|
|
: winston.createLogger({
|
|
transports: [
|
|
new winston.transports.Console(),
|
|
new winston.transports.DailyRotateFile({
|
|
filename: 'TidGi-%DATE%.log',
|
|
datePattern: 'YYYY-MM-DD',
|
|
zippedArchive: false,
|
|
maxSize: '20mb',
|
|
maxFiles: '14d',
|
|
dirname: LOG_FOLDER,
|
|
level: 'debug',
|
|
}),
|
|
new RendererTransport(),
|
|
],
|
|
exceptionHandlers: [
|
|
new winston.transports.DailyRotateFile({
|
|
filename: 'TidGi-Exception-%DATE%.log',
|
|
datePattern: 'YYYY-MM-DD',
|
|
zippedArchive: false,
|
|
maxSize: '20mb',
|
|
maxFiles: '14d',
|
|
dirname: LOG_FOLDER,
|
|
}),
|
|
],
|
|
format: format.combine(format.timestamp(), format.json()),
|
|
})
|
|
) as winston.Logger;
|
|
export { logger };
|
|
|
|
export function destroyLogger(): void {
|
|
logger.close();
|
|
logger.removeAllListeners();
|
|
logger.destroy();
|
|
logger.write = (chunk: unknown) => {
|
|
console.log('Message after logger destroyed', chunk);
|
|
return true;
|
|
};
|
|
}
|