セットアップ
アプリのログをどこに出すか
2026年8月20日
この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン
自作のアプリのログ、どこに出すのが正解なの?

プロクラ
運用の形によって答えが変わるよ。大きく3つの選択肢があって、それぞれ向き不向きがある。まず自分の構成に合うものを選ぼう。
選択肢1:ファイルに書く
- 分かりやすく、後から読みやすい
- 自動で分割・削除する設定が必要(放置すると膨らむ)
- 書き込む先の権限を、実行ユーザーに合わせる必要がある
- コンテナで動かす場合は、消えないよう外に置く配慮が要る
選択肢2:標準出力へ出す

プロクラ
アプリはただ出力するだけで、それをどこへ保存するかは外側の仕組みに任せる、という考え方だよ。コンテナやサービス管理の仕組みと相性がいい。
- アプリ側が出力先を気にしなくてよい
- サービス管理の仕組みが受け取り、まとめて記録してくれる
- コンテナでは、これが標準的なやり方
- 受け取る側で、保存期間や容量の上限を設定する
選択肢3:システムのログへ送る
- 他のサービスのログと同じ場所にまとまる
- 時系列で突き合わせやすい
- 別のサーバーへ転送する仕組みにも乗せやすい
- アプリ側で対応が必要

プロクラ
個人のサーバーで、systemdでアプリを動かしているなら、標準出力へ出すのがいちばん楽だよ。保存も分割も、外側が面倒を見てくれる。
書いてはいけない情報

ウィルスン
…エラーの詳細をログに残すのは良い習慣だ。ただ、そこに認証情報まで書いてくれると、ワタシは読むだけで済むのでね。
- パスワード、APIキー、トークン
- データベースの接続情報
- 利用者の個人情報(必要な範囲を超えて記録しない)
- エラーの詳細を出すときは、含まれる内容を確認する

プロクラ
3つめは、記録すること自体に責任が生じる点も意識してね。個人情報を含むログを溜め込めば、その管理も必要になる。保存期間を決めて、古いものは消そう。
後から役に立つ書き方
- いつ・何が起きたかを、1行で分かる形にする
- 重要度を分ける(情報・警告・エラー)
- エラーには、原因を追える情報を含める
- 正常時に大量に出さない(本当の異常が埋もれる)

レン
標準出力に出して、外側に任せる。それが一番楽そうだね。
アクセスログとの使い分け

プロクラ
Webサーバーが記録するアクセスログと、アプリが出すログは役割が違うよ。両方あって初めて、何が起きたかを追える。
- アクセスログ: 誰がどのURLに来て、どう応答したか
- アプリのログ: その中で、何を判断し、どこで失敗したか
- 時刻で突き合わせられるよう、記録の形式を揃える
- エラーの調査では、両方を並べて見ることになる

プロクラ
3つめのために、サーバーの時刻が正確であることが前提になる。時刻がずれていると、突き合わせができなくなるよ。
あわせて読みたい
- セットアップConoHa for Windows Server環境変数が読まれない:手元では動くのにサーバーで動かないログイン時とサービス起動時では環境が違います。読み込まれる場所の違いと、確実に渡す方法、そして認証情報の扱いを解説します。
- セットアップXServer VPS for Windows Serverサーバーを引き継ぐ:何を渡せば足りるか担当が変わるとき、アカウントを渡すだけでは足りません。渡すべき情報の一覧と、渡す前にやっておく整理、安全な渡し方を解説します。
- セットアップDigitalOcean本番でDockerを使うときに決めておくこと手元で動いた構成をそのまま本番に持ち込むと詰まります。イメージの管理、再起動時の扱い、ログとバックアップの置き場所について、先に決めておくことを整理します。
- セットアップDigitalOcean外形監視と内部監視、どちらから始めるか見えているかを外から確かめる仕組みと、サーバーの中の値を見る仕組み。役割の違いと、個人運用ならどちらを優先すべきかを解説します。
サーバーを触る前に押さえておきたいこと
姉妹サイトの、この記事と相性のいいページです。
- Linuxコマンド入門
ls / cd / grep などを疑似ターミナルで試しながら学べる — prodou.net
- シェルスクリプト入門
サーバー作業の自動化スクリプトを基礎から — prodou.net
- Password Generator
サーバー用に強いパスワードをその場で生成 — toolkitbox.net
- Cron Generator
定期実行のcron式を組み立てる — toolkitbox.net