【初心者向け】Pythonでログ自動保存アプリを作ろう!|Python100本ノック Lesson 16

Pythonで学べる100のミニアプリ ロードマップ

はじめに

第15回では「行数カウントツール」を作って、ファイル内の行数を数えるシンプルな仕組みを学んだな。
今回はその延長で、プログラムの実行結果を自動でファイルに記録する 「ログ自動保存アプリ」 を作るで!

これを使えば、毎回の実行内容を後から見返したり、記録として残すことができるんや。


完成イメージ

ターミナルに出力される内容:

[INFO] アプリを開始しました。
[INFO] 処理を実行中…
[INFO] アプリを終了しました。

同時に log.txt ファイルに:

[INFO] アプリを開始しました。
[INFO] 処理を実行中…
[INFO] アプリを終了しました。

ヒント(使う要素)

  • open("ファイル名", "a") → 追記モードでファイルに書き込む
  • datetime.now() → ログに時刻をつけられる
  • 関数化しておくと便利

コード全文(基本版)

# Lesson 16: ログ自動保存アプリ
from datetime import datetime

def log(message):
    time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    line = f"[{time}] {message}"
    print(line)
    with open("log.txt", "a", encoding="utf-8") as f:
        f.write(line + "\n")

log("アプリを開始しました。")
log("処理を実行中…")
log("アプリを終了しました。")

実行方法

  1. コードを lesson16.py として保存
  2. ターミナルで実行:
python lesson16.py
  1. 実行後に log.txt が生成され、出力内容が保存される

応用アイデア

  • エラーメッセージは [ERROR] として区別する
  • ログファイルを日付ごとに作成する(例: 2025-10-06.log
  • 複数の関数やアプリで使える「共通ログ関数」としてモジュール化する

まとめ

今回は 「ログ自動保存アプリ」 を作ったで!
ターミナル出力だけでなく、ファイルに残すことで記録を活用できるようになるんや。

👉 次回は Lesson 17: 簡易バックアップツール
指定したファイルをコピーしてバックアップを取るアプリを作ってみるで!