解除在Node JS中运行的任务的日志logging

保存一个新行开始2个asynchronous作业。 我试图debugging一个后台作业,因为他们通过一些共享的模型代码运行。 问题是,如果我添加日志logging来debugging任何共享代码,突然它纠结,看起来像:

15:36:42 worker.1 | Running SQL "select count() .." (job #1) 15:36:42 worker.1 | Running SQL "select * .." (job #2) 15:36:42 worker.1 | Got to part 2 of the code (job #1) 15:36:42 worker.1 | Got to part 3 of the code (job #1) 15:36:42 worker.1 | Got to part 2 of the code (job #2) 15:36:42 worker.1 | Got to part 3 of the code (job #2) 15:36:42 worker.1 | Got to part 4 of the code (job #1) 15:36:42 worker.1 | Job failed (job #2) 15:36:42 worker.1 | Job complete (job #1) 

除了“工作#2”标签在现实中是不可能的。 我只是添加了这些来说明混乱。

我想过滤掉作为job #2结果的所有日志行

两个工作共享相同的process.pid – “应该”他们是单独的进程?

是否有可能将作业2分离出来并独立于作业1运行(或者只是提供系统需要的任何input来创build一个能产生你想要debugging的结果的作业)。

如果不是,你可以标签你async jobs 。 如果你可以给你的每一个工作一个唯一的ID,在链中初始化并通过链,那么你可以grep你的日志基于该ID。

标记代码应该是现实中的可能性,它可能需要重构或重构代码。

另一个select是有一个工作人员卸下工作岗位,这样可以将每个工作分离到一个工作人员身上,但可能不是必要的,而且肯定会增加程序的复杂性。