質問: "puppeteer-loadtest";`で環境変数は設定されていると考えているので、なぜ標準出力に"start"が表示されないのかが疑問です。 環境 -- * node v10.13.0 補足 -- 以下のモジュールを使ったときに、標準出力にデバッグ情報が出力が出なかったので、ここで質問しました。
回答: 確かに`process.env.DEBUG = "puppeteer-loadtest";`で環境変数DEBUGを設定できるのですが、その例ではDEBUGを設定するのが遅すぎます。 というのも、`DEBUG`の値が読み込まれるのはdebugオブジェクトを作ったとき、すなわち`const debug = require('debug')('puppeteer-loadtest');`が実行されたときだからです。(ソースコードでいうとここです。) ですから、それよりも更に前に`process.env.DEBUG`を設定することでちゃんと"start"と表示されます。 ``` process.env.DEBUG = "puppeteer-loadtest"; const debug = require('debug')('puppeteer-loadtest'); debug('start'); ``` とはいえ、常に`process.env.DEBUG`を一番最初に設定するのは現実的ではないかと思います。あとからデバッグログを有効化するには、`process.env.DEBUG`を使うのではなく別の方法があります。 以下のように`enable`メソッドを用いることであとからデバッグログを有効化できます。下の例を試すと"start"と表示されるかと思います。(`enable`メソッドを利用するために`require('debug')`の結果を別の変数`createDebug`に入れています。) ``` const createDebug = require('debug'); const debug = createDebug('puppeteer-loadtest'); createDebug.enable('pupeteer-loadtest'); debug('start'); ```