核心功能: - SSH终端: 密码/密钥认证、XTerm.js终端、多主题配色、IP高亮 - SFTP管理: 双栏文件管理、上传下载、传输队列 - 端口转发: 本地/远程转发、SOCKS5动态代理、规则管理 架构改进: - 拆分大型组件 (SFTPView/TabBar/Sidebar) - 添加统一日志和错误处理 - 修复React严格模式下的终端黑屏问题 UI更新: - 新增端口转发视图 - 更新UI预览文档 - 左侧栏右键菜单支持SFTP快捷打开
47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
/**
|
|
* Electron 主进程日志工具
|
|
*
|
|
* 简化版,直接输出到控制台
|
|
*/
|
|
|
|
export enum LogLevel {
|
|
DEBUG = 0,
|
|
INFO = 1,
|
|
WARN = 2,
|
|
ERROR = 3,
|
|
}
|
|
|
|
const LOG_LEVEL = process.env.NODE_ENV === 'production' ? LogLevel.INFO : LogLevel.DEBUG
|
|
|
|
function shouldLog(level: LogLevel): boolean {
|
|
return level >= LOG_LEVEL
|
|
}
|
|
|
|
function formatMessage(level: string, module: string, message: string): string {
|
|
const timestamp = new Date().toISOString()
|
|
return `[${timestamp}] [${level}] [${module}] ${message}`
|
|
}
|
|
|
|
export function createLogger(module: string) {
|
|
return {
|
|
debug: (message: string, ...args: unknown[]) => {
|
|
if (!shouldLog(LogLevel.DEBUG)) return
|
|
console.debug(formatMessage('DEBUG', module, message), ...args)
|
|
},
|
|
info: (message: string, ...args: unknown[]) => {
|
|
if (!shouldLog(LogLevel.INFO)) return
|
|
console.info(formatMessage('INFO', module, message), ...args)
|
|
},
|
|
warn: (message: string, ...args: unknown[]) => {
|
|
if (!shouldLog(LogLevel.WARN)) return
|
|
console.warn(formatMessage('WARN', module, message), ...args)
|
|
},
|
|
error: (message: string, ...args: unknown[]) => {
|
|
if (!shouldLog(LogLevel.ERROR)) return
|
|
console.error(formatMessage('ERROR', module, message), ...args)
|
|
},
|
|
}
|
|
}
|
|
|
|
export const logger = createLogger('Main')
|