危険なConsole.log

Console.logはサーバーも落とす

環境はDockerコンテナでVue+ExpressのWebアプリを動かしていました。
動作検証を行いたかったので、Express(Backendサーバー)にconsole.logを入れ込んで、
処理がどこまで進んでいるか確認してました。

サーバーが落ちる

Backend側のエラーよりもDocker関連でエラーが発生して
DockerがDownしているように思えます。

Index Error: list index out of range [7932]
Failed to execute script docker-compose

”list index out of range”と書かれているので、
恐らく何らかの容量を超えた状態。
この場合最も考えられるのは、ログファイルです。

Console.log()の中に大量の文字列やバイナリデータを出力させていたので、
ログファイルが限界に達したようです。

解決法

Docker execでコンテナに入り、手動で削除する方法を思いつきましたが、
どうもDockrのファイルを直接手動で弄るのは好ましく様子。

qastack.jp

自分の場合は”docker-compose down”や”docker-compose rm [コンテナ名]”でコンテナ停止+削除をしてしまって、
もう一度”docker-compose up -d”をした方が手っ取り早いなと。

これでログファイル自体はリセットできました。

Console.logは危険

Console.logも思わぬところで毒を吐くんですね。
VSCodeだとCtrl+shift+fでconsole.logを検索してコメントアウトします。
本番環境ではConsole.logを表示させない方がいいことを身をもって知りました。

おまけ

役に立つDockerコマンド

ログファイル直近数件だけ取得

docker logs -f --tail=500 <container-name>

qiita.com