首页 > 系统相关 >Electron 开发过程中主进程的无法看到 console.log 输出怎么办

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

时间:2023-11-30 18:45:38浏览次数:40  
标签:spawn 输出 console log Electron 进程

开发过程中命令行工具(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()

注:转载请注明出处博客园:王二狗Sheldon池中物 ([email protected])

标签:spawn,输出,console,log,Electron,进程
From: https://www.cnblogs.com/willian/p/17868005.html

相关文章

  • 多数据源之mybatis配置的log无法打印
    多数据源打印sql日志配置:@Bean@ConfigurationProperties(prefix="mybatis.configuration")publicorg.apache.ibatis.session.ConfigurationglobalConfiguration(){returnneworg.apache.ibatis.session.Configuration();}@Be......
  • log4j的日志信息记录maven
    本地调用三方包,日志信息很关键,log4j有多种日志级别Log4j有三个主要的组件:Loggers(记录器),Appenders(输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样......
  • 调试技巧console.trace
    console.trace之前一直觉得没用,可用断点,或xhr断点来直接定位调用栈在一些特殊情况下,比如要跟踪某个值的调用过程,可以用此方法来观察调用栈,也比较方便console.trace(result)可以观察result这个变量的调用栈从变量的角度,来看调用栈,易于追踪该变量值产生异常的原因此外,若调用......
  • logback丢失日志
    问题描述、现象项目正常运行日志文件生成以及文件名都看不出来问题日志里记录的信息也可以记录完整的每次请求记录偶尔随机丢失一次或者多次完整的请求记录,与没有收到用户请求情况相同 问题排查排除AsyncAppender的丢失机制导致,可以将日志记录方式先改为同步方式或者......
  • cat /var/log/messages | grep memory 查看内存溢出 OOM
    [root@test/]#cat/var/log/messages|grepmemoryNov2918:14:35testkernel:[<ffffffffaddcdaaa>]out_of_memory+0x31a/0x500Nov2918:14:36testkernel:Outofmemory:Killprocess9339(dmserver)score548orsacrificechildNov2920:17:43testke......
  • basbas/baydadam/yuksel/tarim/kuyaxoghli/这些bloger在不?
    توربەتلەرنىبلوگلارنىئىزدەپبىرنىمۇتاپالمىدىم،كىشىلەرشۇنچىۋالالاتوربەتكەبلوگقاقىزىقماسبوپكەتكەنمىدۇ؟بۇھەقتەبىرەرنەرسەيازاي......
  • Logcat
    使用Logcat写入和查看日志 | Android开发者 | AndroidDevelopershttps://developer.android.google.cn/studio/debug/am-logcat?hl=zh-cn使用Logcat写入和查看日志AndroidStudio中的Logcat窗口会显示系统消息,例如在进行垃圾回收时显示的消息,以及使用 Log ......
  • LogFacade---SLF4J
    概述SimpleLoggingFacadeforJava(SLF4J);用作各种日志框架(eg:java.util.logging,logback,log4j)的简单外观或抽象,允许最终用户在部署时插入所需的日志记录框架; 不提供完整的日志记录解决方案;使用SLF4J无法执行配置appender或设置日志记录级别等操作。因此,在某个时间点,任何非......
  • NLog整合ExceptionLess如何映射当前用户身份
    在将NLog与Exceptionless集成时,要映射当前用户的身份,我们可以使用NLog的布局渲染器(LayoutRenderer)和Exceptionless的上下文数据(ContextData)。首先,在NLog的配置文件中,我们需要定义一个自定义的布局渲染器来获取当前用户的身份信息。例如,我们可以创建一个名为"currentuser"的布局......
  • llama-factory fine-tuning-3 (conception and technologies explanation)
    trainmethodsupervisedfine-tuning RewardModeling PPOtraining DPOtraining full-parameter partial-parameter LoRA QLoRA commandparameterfp16 gradient_accumulation_steps lr_scheduler_type lora_target overwrite_cache s......