Electron 开发过程中主进程的无法看到 console.log 输出怎么办

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Electron 开发过程中主进程的无法看到 console.log 输出怎么办

开发过程中命令行工具(powershell、terminal)内无法看到 console.log 输出

Eelectron 的在开发过程中主进程 NodeJS 内往往需要 console.log 来进行简单的调式

渲染进程的 console.log 输出到开发工具控制台中,这和浏览器中的 web 调式一样

而主进程的 console.log 输出到命令行中

在主进程中有些情况下,console.log 无法在启动主进程的命令行中看到输出

现在碰到有以下两种情况分别影响输出信息:

spawn 影响 console.log

当使用 Node.js 的 spawn 方法启动 Electron 应用程序时,主进程内的 console.log 输出不会显示在命令行中。这是因为 spawn 方法会将 Electron 应用程序的输出重定向到子进程的标准输出流,而不是父进程的控制台。

要解决这个问题,您可以通过在 spawn 方法中设置 stdio 选项来将子进程的标准输出流重定向到父进程的控制台。例如:

const { spawn } = require('child_process');
const child = spawn('yarn', ['参数'], { stdio: 'inherit' });

在这个示例中,stdio: 'inherit' 选项将子进程的标准输入流、输出流和错误流都重定向到父进程的控制台,这样就可以在命令行中看到 Electron 应用程序的 console.log 输出了。

electron-log 模块影响 console.log

还有,如果在Electron 主进程中使用了 electron-log 模块,也会影响 console.log 输出

可用 console.info , console.warn , console.error 等方法代替

如果在运行启动 Electron 程序时同时使用了 ora-classic 模块,出会影响 console.log 输出

例如使用以下创建了 spinner 实例

const spinner = ora({ text: "Loading ==> ", color: "green" }).start();
spinner.text = '....'

记得在 electron:serve 运行后,还想看到主进程的 console.info 输出,则需要结束

spinner.succeed()
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4月前
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
83 1
|
2月前
|
Rust 前端开发 JavaScript
Tauri 开发实践 — Tauri 日志记录功能开发
本文介绍了如何为 Tauri 应用配置日志记录。Tauri 是一个利用 Web 技术构建桌面应用的框架。文章详细说明了如何在 Rust 和 JavaScript 代码中设置和集成日志记录,并控制日志输出。通过添加 `log` crate 和 Tauri 日志插件,可以轻松实现多平台日志记录,包括控制台输出、Webview 控制台和日志文件。文章还展示了如何调整日志级别以优化输出内容。配置完成后,日志记录功能将显著提升开发体验和程序稳定性。
117 1
Tauri 开发实践 — Tauri 日志记录功能开发
|
4月前
|
SQL 关系型数据库 MySQL
【MySQL】根据binlog日志获取回滚sql的一个开发思路
【MySQL】根据binlog日志获取回滚sql的一个开发思路
|
1月前
|
JSON JavaScript 前端开发
开发桌面程序-Electron入门
【10月更文挑战第16天】Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架,嵌入了 Chromium 和 Node.js。本文介绍了如何搭建 Electron 开发环境,包括安装 Node.js、创建项目、配置 main.js 和打包应用。通过简单的步骤,你可以快速创建并运行一个基本的 Electron 应用程序。
开发桌面程序-Electron入门
|
1月前
|
监控 开发者
鸿蒙5.0版开发:使用HiLog打印日志(ArkTS)
在HarmonyOS 5.0中,HiLog是系统提供的日志系统,支持DEBUG、INFO、WARN、ERROR、FATAL五种日志级别。本文介绍如何在ArkTS中使用HiLog打印日志,并提供示例代码。通过合理使用HiLog,开发者可以更好地调试和监控应用。
113 16
|
1月前
|
运维 JavaScript jenkins
鸿蒙5.0版开发:分析CppCrash(进程崩溃)
在HarmonyOS 5.0中,CppCrash指C/C++运行时崩溃,常见原因包括空指针、数组越界等。系统提供基于posix信号机制的异常检测能力,生成详细日志辅助定位。本文详解CppCrash分析方法,涵盖异常检测、问题定位思路及案例分析。
50 4
|
1月前
|
运维 监控 JavaScript
鸿蒙next版开发:分析JS Crash(进程崩溃)
在HarmonyOS 5.0中,JS Crash指未处理的JavaScript异常导致应用意外退出。本文详细介绍如何分析JS Crash,包括异常捕获、日志分析和典型案例,帮助开发者定位问题、修复错误,提升应用稳定性。通过DevEco Studio收集日志,结合HiChecker工具,有效解决JS Crash问题。
50 4
|
2月前
|
JavaScript API
使用vue3+vite+electron构建小项目介绍Electron进程间通信
使用vue3+vite+electron构建小项目介绍Electron进程间通信
474 3
|
2月前
|
开发框架 缓存 安全
开发日志:IIS安全配置
开发日志:IIS安全配置
开发日志:IIS安全配置
|
2月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
42 1
下一篇
DataWorks