mirror of
https://github.com/imsyy/SPlayer.git
synced 2025-11-25 03:14:57 +08:00
48 lines
1.6 KiB
TypeScript
48 lines
1.6 KiB
TypeScript
|
|
// 日志输出
|
||
|
|
import { existsSync, mkdirSync } from "fs";
|
||
|
|
import { join } from "path";
|
||
|
|
import { app } from "electron";
|
||
|
|
import log from "electron-log";
|
||
|
|
|
||
|
|
// 日志文件路径
|
||
|
|
const logDir = join(app.getPath("logs"));
|
||
|
|
|
||
|
|
// 是否存在日志目录
|
||
|
|
if (!existsSync(logDir)) mkdirSync(logDir);
|
||
|
|
|
||
|
|
// 获取日期 - YYYY-MM-DD
|
||
|
|
const dateString = new Date().toISOString().slice(0, 10);
|
||
|
|
const logFilePath = join(logDir, `${dateString}.log`);
|
||
|
|
|
||
|
|
// 配置日志系统
|
||
|
|
log.transports.console.useStyles = true; // 颜色输出
|
||
|
|
log.transports.file.level = "info"; // 仅记录 info 及以上级别
|
||
|
|
log.transports.file.resolvePathFn = (): string => logFilePath; // 日志文件路径
|
||
|
|
log.transports.file.maxSize = 2 * 1024 * 1024; // 文件最大 2MB
|
||
|
|
|
||
|
|
// 日志格式化
|
||
|
|
// log.transports.file.format = "[{y}-{m}-{d} {h}:{i}:{s}] [{level}] [{scope}] {text}";
|
||
|
|
|
||
|
|
// 绑定默认事件
|
||
|
|
const defaultLog = log.scope("default");
|
||
|
|
console.log = defaultLog.log;
|
||
|
|
console.info = defaultLog.info;
|
||
|
|
console.warn = defaultLog.warn;
|
||
|
|
console.error = defaultLog.error;
|
||
|
|
|
||
|
|
// 分作用域导出
|
||
|
|
export { defaultLog };
|
||
|
|
export const ipcLog = log.scope("ipc");
|
||
|
|
export const trayLog = log.scope("tray");
|
||
|
|
export const thumbarLog = log.scope("thumbar");
|
||
|
|
export const storeLog = log.scope("store");
|
||
|
|
export const updateLog = log.scope("update");
|
||
|
|
export const systemLog = log.scope("system");
|
||
|
|
export const configLog = log.scope("config");
|
||
|
|
export const windowsLog = log.scope("windows");
|
||
|
|
export const processLog = log.scope("process");
|
||
|
|
export const preloadLog = log.scope("preload");
|
||
|
|
export const rendererLog = log.scope("renderer");
|
||
|
|
export const shortcutLog = log.scope("shortcut");
|
||
|
|
export const serverLog = log.scope("server");
|