@lynker-desktop/electron-logs 0.0.4-alpha.8 → 0.0.5-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAO3B,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,cAAc,MAAM,SAmG1C,CAAA;AACD,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAO3B,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,cAAc,MAAM,SAsG1C,CAAA;AACD,eAAe,MAAM,CAAA"}
package/esm/main/index.js CHANGED
@@ -24,11 +24,14 @@ const initialize = (logsPath = LOG_PATH) => {
24
24
  alwaysIncludePattern: true // 始终包含pattern
25
25
  },
26
26
  renderProccessLog: {
27
- type: "dateFile",
27
+ type: "dateFile", // 按日期保存文件
28
28
  filename: path.join(logsPath, 'renderer'),
29
- pattern: "yyyy-MM-dd.log",
30
- keepFileExt: true,
31
- alwaysIncludePattern: true
29
+ pattern: "yyyy-MM-dd.log", // 日志模式
30
+ keepFileExt: true, // 保存文件时文件会根据 pattern 携带额外的扩展名,开启后文件名为 logs.2022-05-23.log 而不是 logs.log
31
+ alwaysIncludePattern: true, // 在当前日志文件的名称中包含模式,默认会将模式添加到文件末尾,如:logs.log.2022-05-23,开启 keepFileExt 后保存为 all-the-logs.2022-05-23.log
32
+ maxLogSize: 200 * 1024 * 1024, // 200M分割
33
+ backups: 5, // 备份保留数量
34
+ daysToKeep: 2 // 日志保留时长,单位为天
32
35
  },
33
36
  mainProccessLog: {
34
37
  type: 'dateFile',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/main/index.ts"],"sourcesContent":["import log4js from 'log4js'\nimport path from 'path'\nimport { app, ipcMain } from 'electron'\nimport { Level } from '../common';\n\nlet LOG_PATH = path.join(app.getPath('logs'))\n\nexport let isInitialized = false;\n\nexport const initialize = (logsPath: string = LOG_PATH) => {\n app.on('ready', () => {\n\n })\n try {\n if (isInitialized) {\n return;\n }\n log4js.configure({\n appenders: {\n out: {\n type: 'console'\n },\n alldateFileLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'log'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n alwaysIncludePattern: true // 始终包含pattern\n },\n renderProccessLog: {\n type: \"dateFile\",\n filename: path.join(logsPath, 'renderer'),\n pattern: \"yyyy-MM-dd.log\",\n keepFileExt: true,\n alwaysIncludePattern: true\n },\n mainProccessLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'main'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n keepFileExt: true,\n alwaysIncludePattern: true, // 始终包含pattern\n // maxLogSize: 1024 * 1024 * 100, // 文件最大容纳值\n // backups: 3\n },\n crashLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'crash'),\n pattern: \"yyyy-MM-dd.log\",\n },\n },\n // 不同等级的日志追加到不同的输出位置:appenders: ['out', 'allLog'] categories 作为getLogger方法的键名对应\n categories: {\n date: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n },\n main: {\n appenders: ['out', 'mainProccessLog'],\n level: \"debug\"\n },\n renderer: {\n appenders: ['renderProccessLog'],\n level: \"debug\"\n },\n crash: {\n appenders: ['out', 'crashLog'],\n level: \"debug\"\n },\n default: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n }\n }\n });\n const main = log4js.getLogger('main');\n const renderer = log4js.getLogger('renderer');\n // @ts-ignore\n global.console = console = main;\n console.log(' ')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n console.log('init electron-logs: ', LOG_PATH)\n console.log('')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n\n ipcMain.handle('__ELECTRON_LOGS_RENDERER__', (_, msg: {type: 'log' | 'getLogPath', level: Level, data: Array<any>}) => {\n if (msg.type === 'log') {\n try {\n let level = `${msg?.level || 'log'}`?.replace(/^log$/gi, 'info')\n const data = (msg?.data || []);\n if (level in renderer) {\n renderer.log(level, ...data)\n }\n } catch (error) {\n console.error(error)\n }\n }\n if (msg.type === 'getLogPath') {\n return LOG_PATH;\n }\n return 'ok';\n })\n isInitialized = true;\n } catch (error) {\n console.error('assign console error: ', error)\n throw error\n }\n}\nexport default log4js\n"],"names":[],"mappings":";;;;;AAKA,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AAEtC,IAAI,aAAa,GAAG,MAAM;MAEpB,UAAU,GAAG,CAAC,QAAmB,GAAA,QAAQ,KAAI;AACtD,IAAA,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK;AAErB,KAAC,CAAC,CAAA;AACF,IAAA,IAAI;QACA,IAAI,aAAa,EAAE;YACf,OAAO;SACV;QACD,MAAM,CAAC,SAAS,CAAC;AACb,YAAA,SAAS,EAAE;AACP,gBAAA,GAAG,EAAE;AACD,oBAAA,IAAI,EAAE,SAAS;AAClB,iBAAA;AACD,gBAAA,cAAc,EAAE;AACZ,oBAAA,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;oBACpC,OAAO,EAAE,gBAAgB;oBACzB,oBAAoB,EAAE,IAAI;AAC7B,iBAAA;AACD,gBAAA,iBAAiB,EAAE;AACf,oBAAA,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;AACzC,oBAAA,OAAO,EAAE,gBAAgB;AACzB,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;AAC7B,iBAAA;AACD,gBAAA,eAAe,EAAE;AACb,oBAAA,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;oBACrC,OAAO,EAAE,gBAAgB;AACzB,oBAAA,WAAW,EAAE,IAAI;oBACjB,oBAAoB,EAAE,IAAI;;;AAG7B,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACN,oBAAA,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;AACtC,oBAAA,OAAO,EAAE,gBAAgB;AAC5B,iBAAA;AACJ,aAAA;;AAED,YAAA,UAAU,EAAE;AACR,gBAAA,IAAI,EAAE;AACF,oBAAA,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;AACpC,oBAAA,KAAK,EAAE,OAAO;AACjB,iBAAA;AACD,gBAAA,IAAI,EAAE;AACF,oBAAA,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC;AACrC,oBAAA,KAAK,EAAE,OAAO;AACjB,iBAAA;AACD,gBAAA,QAAQ,EAAE;oBACN,SAAS,EAAE,CAAC,mBAAmB,CAAC;AAChC,oBAAA,KAAK,EAAE,OAAO;AACjB,iBAAA;AACD,gBAAA,KAAK,EAAE;AACH,oBAAA,SAAS,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;AAC9B,oBAAA,KAAK,EAAE,OAAO;AACjB,iBAAA;AACD,gBAAA,OAAO,EAAE;AACL,oBAAA,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;AACpC,oBAAA,KAAK,EAAE,OAAO;AACjB,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;;AAE9C,QAAA,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;AAChC,QAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAChB,QAAA,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;AACpE,QAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAChB,QAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;AAC7C,QAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACf,QAAA,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;AACpE,QAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEhB,OAAO,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,GAAiE,KAAI;AAClH,YAAA,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE;AACtB,gBAAA,IAAI;AACA,oBAAA,IAAI,KAAK,GAAG,CAAA,EAAG,GAAG,EAAE,KAAK,IAAI,KAAK,CAAE,CAAA,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;oBAChE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AAC/B,oBAAA,IAAI,KAAK,IAAI,QAAQ,EAAE;wBACnB,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;qBAC/B;iBACJ;gBAAC,OAAO,KAAK,EAAE;AACZ,oBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;iBACvB;aACF;AACD,YAAA,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE;AAC7B,gBAAA,OAAO,QAAQ,CAAC;aACjB;AACD,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAC,CAAA;QACF,aAAa,GAAG,IAAI,CAAC;KACxB;IAAC,OAAO,KAAK,EAAE;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;AAC9C,QAAA,MAAM,KAAK,CAAA;KACd;AACL;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/main/index.ts"],"sourcesContent":["import log4js from 'log4js'\nimport path from 'path'\nimport { app, ipcMain } from 'electron'\nimport { Level } from '../common';\n\nlet LOG_PATH = path.join(app.getPath('logs'))\n\nexport let isInitialized = false;\n\nexport const initialize = (logsPath: string = LOG_PATH) => {\n app.on('ready', () => {\n\n })\n try {\n if (isInitialized) {\n return;\n }\n log4js.configure({\n appenders: {\n out: {\n type: 'console'\n },\n alldateFileLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'log'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n alwaysIncludePattern: true // 始终包含pattern\n },\n renderProccessLog: {\n type: \"dateFile\", // 按日期保存文件\n filename: path.join(logsPath, 'renderer'),\n pattern: \"yyyy-MM-dd.log\", // 日志模式\n keepFileExt: true, // 保存文件时文件会根据 pattern 携带额外的扩展名,开启后文件名为 logs.2022-05-23.log 而不是 logs.log\n alwaysIncludePattern: true, // 在当前日志文件的名称中包含模式,默认会将模式添加到文件末尾,如:logs.log.2022-05-23,开启 keepFileExt 后保存为 all-the-logs.2022-05-23.log\n maxLogSize: 200 * 1024 * 1024, // 200M分割\n backups: 5, // 备份保留数量\n daysToKeep:2 // 日志保留时长,单位为天\n },\n mainProccessLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'main'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n keepFileExt: true,\n alwaysIncludePattern: true, // 始终包含pattern\n // maxLogSize: 1024 * 1024 * 100, // 文件最大容纳值\n // backups: 3\n },\n crashLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'crash'),\n pattern: \"yyyy-MM-dd.log\",\n },\n },\n // 不同等级的日志追加到不同的输出位置:appenders: ['out', 'allLog'] categories 作为getLogger方法的键名对应\n categories: {\n date: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n },\n main: {\n appenders: ['out', 'mainProccessLog'],\n level: \"debug\"\n },\n renderer: {\n appenders: ['renderProccessLog'],\n level: \"debug\"\n },\n crash: {\n appenders: ['out', 'crashLog'],\n level: \"debug\"\n },\n default: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n }\n }\n });\n const main = log4js.getLogger('main');\n const renderer = log4js.getLogger('renderer');\n // @ts-ignore\n global.console = console = main;\n console.log(' ')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n console.log('init electron-logs: ', LOG_PATH)\n console.log('')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n\n ipcMain.handle('__ELECTRON_LOGS_RENDERER__', (_, msg: {type: 'log' | 'getLogPath', level: Level, data: Array<any>}) => {\n if (msg.type === 'log') {\n try {\n let level = `${msg?.level || 'log'}`?.replace(/^log$/gi, 'info')\n const data = (msg?.data || []);\n if (level in renderer) {\n renderer.log(level, ...data)\n }\n } catch (error) {\n console.error(error)\n }\n }\n if (msg.type === 'getLogPath') {\n return LOG_PATH;\n }\n return 'ok';\n })\n isInitialized = true;\n } catch (error) {\n console.error('assign console error: ', error)\n throw error\n }\n}\nexport default log4js\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAO3B,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,cAAc,MAAM,SAmG1C,CAAA;AACD,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAO3B,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,cAAc,MAAM,SAsG1C,CAAA;AACD,eAAe,MAAM,CAAA"}
package/main/index.js CHANGED
@@ -25,11 +25,14 @@ const initialize = (logsPath = LOG_PATH) => {
25
25
  alwaysIncludePattern: true // 始终包含pattern
26
26
  },
27
27
  renderProccessLog: {
28
- type: "dateFile",
28
+ type: "dateFile", // 按日期保存文件
29
29
  filename: path.join(logsPath, 'renderer'),
30
- pattern: "yyyy-MM-dd.log",
31
- keepFileExt: true,
32
- alwaysIncludePattern: true
30
+ pattern: "yyyy-MM-dd.log", // 日志模式
31
+ keepFileExt: true, // 保存文件时文件会根据 pattern 携带额外的扩展名,开启后文件名为 logs.2022-05-23.log 而不是 logs.log
32
+ alwaysIncludePattern: true, // 在当前日志文件的名称中包含模式,默认会将模式添加到文件末尾,如:logs.log.2022-05-23,开启 keepFileExt 后保存为 all-the-logs.2022-05-23.log
33
+ maxLogSize: 200 * 1024 * 1024, // 200M分割
34
+ backups: 5, // 备份保留数量
35
+ daysToKeep: 2 // 日志保留时长,单位为天
33
36
  },
34
37
  mainProccessLog: {
35
38
  type: 'dateFile',
package/main/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/src/main/index.ts"],"sourcesContent":["import log4js from 'log4js'\nimport path from 'path'\nimport { app, ipcMain } from 'electron'\nimport { Level } from '../common';\n\nlet LOG_PATH = path.join(app.getPath('logs'))\n\nexport let isInitialized = false;\n\nexport const initialize = (logsPath: string = LOG_PATH) => {\n app.on('ready', () => {\n\n })\n try {\n if (isInitialized) {\n return;\n }\n log4js.configure({\n appenders: {\n out: {\n type: 'console'\n },\n alldateFileLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'log'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n alwaysIncludePattern: true // 始终包含pattern\n },\n renderProccessLog: {\n type: \"dateFile\",\n filename: path.join(logsPath, 'renderer'),\n pattern: \"yyyy-MM-dd.log\",\n keepFileExt: true,\n alwaysIncludePattern: true\n },\n mainProccessLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'main'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n keepFileExt: true,\n alwaysIncludePattern: true, // 始终包含pattern\n // maxLogSize: 1024 * 1024 * 100, // 文件最大容纳值\n // backups: 3\n },\n crashLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'crash'),\n pattern: \"yyyy-MM-dd.log\",\n },\n },\n // 不同等级的日志追加到不同的输出位置:appenders: ['out', 'allLog'] categories 作为getLogger方法的键名对应\n categories: {\n date: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n },\n main: {\n appenders: ['out', 'mainProccessLog'],\n level: \"debug\"\n },\n renderer: {\n appenders: ['renderProccessLog'],\n level: \"debug\"\n },\n crash: {\n appenders: ['out', 'crashLog'],\n level: \"debug\"\n },\n default: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n }\n }\n });\n const main = log4js.getLogger('main');\n const renderer = log4js.getLogger('renderer');\n // @ts-ignore\n global.console = console = main;\n console.log(' ')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n console.log('init electron-logs: ', LOG_PATH)\n console.log('')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n\n ipcMain.handle('__ELECTRON_LOGS_RENDERER__', (_, msg: {type: 'log' | 'getLogPath', level: Level, data: Array<any>}) => {\n if (msg.type === 'log') {\n try {\n let level = `${msg?.level || 'log'}`?.replace(/^log$/gi, 'info')\n const data = (msg?.data || []);\n if (level in renderer) {\n renderer.log(level, ...data)\n }\n } catch (error) {\n console.error(error)\n }\n }\n if (msg.type === 'getLogPath') {\n return LOG_PATH;\n }\n return 'ok';\n })\n isInitialized = true;\n } catch (error) {\n console.error('assign console error: ', error)\n throw error\n }\n}\nexport default log4js\n"],"names":["app","isInitialized","ipcMain"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/src/main/index.ts"],"sourcesContent":["import log4js from 'log4js'\nimport path from 'path'\nimport { app, ipcMain } from 'electron'\nimport { Level } from '../common';\n\nlet LOG_PATH = path.join(app.getPath('logs'))\n\nexport let isInitialized = false;\n\nexport const initialize = (logsPath: string = LOG_PATH) => {\n app.on('ready', () => {\n\n })\n try {\n if (isInitialized) {\n return;\n }\n log4js.configure({\n appenders: {\n out: {\n type: 'console'\n },\n alldateFileLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'log'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n alwaysIncludePattern: true // 始终包含pattern\n },\n renderProccessLog: {\n type: \"dateFile\", // 按日期保存文件\n filename: path.join(logsPath, 'renderer'),\n pattern: \"yyyy-MM-dd.log\", // 日志模式\n keepFileExt: true, // 保存文件时文件会根据 pattern 携带额外的扩展名,开启后文件名为 logs.2022-05-23.log 而不是 logs.log\n alwaysIncludePattern: true, // 在当前日志文件的名称中包含模式,默认会将模式添加到文件末尾,如:logs.log.2022-05-23,开启 keepFileExt 后保存为 all-the-logs.2022-05-23.log\n maxLogSize: 200 * 1024 * 1024, // 200M分割\n backups: 5, // 备份保留数量\n daysToKeep:2 // 日志保留时长,单位为天\n },\n mainProccessLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'main'),\n pattern: 'yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边\n keepFileExt: true,\n alwaysIncludePattern: true, // 始终包含pattern\n // maxLogSize: 1024 * 1024 * 100, // 文件最大容纳值\n // backups: 3\n },\n crashLog: {\n type: 'dateFile',\n filename: path.join(logsPath, 'crash'),\n pattern: \"yyyy-MM-dd.log\",\n },\n },\n // 不同等级的日志追加到不同的输出位置:appenders: ['out', 'allLog'] categories 作为getLogger方法的键名对应\n categories: {\n date: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n },\n main: {\n appenders: ['out', 'mainProccessLog'],\n level: \"debug\"\n },\n renderer: {\n appenders: ['renderProccessLog'],\n level: \"debug\"\n },\n crash: {\n appenders: ['out', 'crashLog'],\n level: \"debug\"\n },\n default: {\n appenders: ['out', 'alldateFileLog'],\n level: \"debug\"\n }\n }\n });\n const main = log4js.getLogger('main');\n const renderer = log4js.getLogger('renderer');\n // @ts-ignore\n global.console = console = main;\n console.log(' ')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n console.log('init electron-logs: ', LOG_PATH)\n console.log('')\n console.log('=================== electron-logs ===================')\n console.log(' ')\n\n ipcMain.handle('__ELECTRON_LOGS_RENDERER__', (_, msg: {type: 'log' | 'getLogPath', level: Level, data: Array<any>}) => {\n if (msg.type === 'log') {\n try {\n let level = `${msg?.level || 'log'}`?.replace(/^log$/gi, 'info')\n const data = (msg?.data || []);\n if (level in renderer) {\n renderer.log(level, ...data)\n }\n } catch (error) {\n console.error(error)\n }\n }\n if (msg.type === 'getLogPath') {\n return LOG_PATH;\n }\n return 'ok';\n })\n isInitialized = true;\n } catch (error) {\n console.error('assign console error: ', error)\n throw error\n }\n}\nexport default log4js\n"],"names":["app","isInitialized","ipcMain"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynker-desktop/electron-logs",
3
- "version": "0.0.4-alpha.8",
3
+ "version": "0.0.5-alpha.2",
4
4
  "description": "electron-logs",
5
5
  "keywords": [
6
6
  "electron",
@@ -75,5 +75,5 @@
75
75
  "tslib": "^2.6.3",
76
76
  "typescript": "^5.5.3"
77
77
  },
78
- "gitHead": "73411b2c5cf264ccfe50b96788992075aa6b6fcb"
78
+ "gitHead": "e6b3dd19c0df04fb766b21f366d7b0d65a7b2b20"
79
79
  }