謎の技術研究部ホームタグ謎の技術研究部とはTop›プログラミング›Node.js2020-04-13【Node.js】log4js-nodeでログファイルを記録する【v6.1.2】ログファイル出力するlog4jsを解説。設定(appendersとcategories)が非常に分かり難いため画像で解説する。なにこれNode.jsではログファイルを出力するとき恐らく一番よく使われているライブラリ。細かい設定が可能でログや標準出力以外にも様々な選択が可能。詳しく解説しないがslack等にも直接送れるようだ。バージョン6で何が変わった?2019/11/06に5.3.0から6.0.0へアップデート。特定のタイムゾーンを指定していた場合の日付フォーマットの変更があった。「fix」となっているが何か問題を修正し結果なのかどうかまでは調べていない。日付のフォーマットが変更になったためlog4jsから出力された日付に別の処理を当てている場合プログラムの挙動がおかしくなる可能性があり、メジャーバージョンアップとなった。余談:開発側のバージョンはこのようにしてメジャーアップデートするという勉強になる。updateが勝手にメジャーアップデートを行わない理由と、ncuで強制的に行った時たまにプログラムが動かなくなる理由はこういうところにあるのだろう。testgetLogger()してレベルのメソッドで出力する。レベルは次で解説する。レベルレベルに指定できるのは次。下に行くほどレベルが高い。設定しておくとdebug未満(つまりtrace)は出力されなくなる設定(configure)当然ながら出力先をファイルやconsole等に分けたいだろう。この設定が難しいので解説していく。categories(一番むずかしい箇所)カテゴリ名を設定ここでは「default」「w」「e」levelを設定カテゴリに設定されたレベル「以上」のものだけ出力されると覚える例:errorを設定すれば、errorとfatalのみ「出力先(appenders)」を複数選択。なる画像で解説categoriesが一番難しいので画像で解説この例だとappendersのinfo_fileはどこからも指定されておらず機能しない。それぞれのカテゴリは複数のappendersとつながっているつまり1個のカテゴリに対して出力先を複数選択することができる。それだけなのに意外に分かりにくい。殆どのサンプルはcategoriesをdefaultに固定して使われているのでよほどのことがない限りこれでも詳しすぎる解説であると考える。私のケースのようにファイルと画面表示を分けたい程度のユースケースは想像できるので少し踏み込んで解説した。作り込まれたパッケージでまだまだ難しいことができそうだが今回はここまでとする。仮想トイレプログラミングや仮想通貨のシステムトレードに関する情報を発信中。どんな情報を流しても詰まらないトイレ。謎の技術研究部とはプライバシーポリシーホーム(自動スクロールなし)ご意見、お問い合わせ。