MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. 【Python】ログファイルから文字列があるメッセージを抽出して別ファイルに書き込むプログラム

【Python】ログファイルから文字列があるメッセージを抽出して別ファイルに書き込むプログラム

2020 7/13
Python
2020年7月13日

ログファイルで大量のログがある場合、毎回検索してある一定のメッセージを抽出するのがめんどくさいので、Pythonで取得したログファイルからある一定の文字列を抽出し、別のファイルに書き込むプログラムを作成しました。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

「Python」ログファイルから特定の文字列を抽出するプログラム

今回は以下「test.log」から「エラー 」という文字列を抽出するプログラムとなります。
プログラムの流れは以下のようになります。

  1. 「test.log」から「エラー 」という文字列のメッセージ行を抽出
  2. 抽出したメッセージをCSVファイルに書き込む。書き込んだCSVファイル名に日時を追加
  3. 抽出元の「test.log」は「log_old」フォルダ配下に移動し、ファイル名に日時を追加

プログラムコード

find.py

import shutil
from datetime import datetime

now = datetime.now()

# test.logログから「エラー 」という文字列を抽出
with open('test.log', 'r', newline='') as f, \
        open('test_find_' + now.strftime('%Y%m%d_%H%M%S') + '.csv', 'w') as o:
        lines = f.readlines()
 
        for line in lines:
            if line.find('エラー ') >= 0:
                print(line[:-1], file=o)
 
print('「test_find.csv」への書き込み完了')

shutil.move('./test.log', './log_old/test_' + now.strftime('%Y%m%d_%H%M%S') + '.log')

print('「test.log」を移動')

実行結果

> python find.py

上記プログラムを実行後以下のファイルが作成されます。

  • test_find_20200713_200632.csv
  • test_20200713_200632.log ※「log_old」フォルダ配下

ファイルの移動と、ファイルに日付を付けるモジュールについての詳細は以下を参照ください。

ファイルの移動(move)はこちらの記事を参照

あわせて読みたい
【Python】ファイルやフォルダの移動をする「shutil.move関数」 Pythonでファイル・フォルダの移動は、shutil.move()関数を利用します。 以下では、「shutil.move関数」の使い方をまとめました。 「Python」ファイルやフォルダの移動...

dateモジュールの使い方はこちらの記事を参照

あわせて読みたい
【Python】日時を扱う「datetime」モジュールの機能 Pythonの標準ライブラリの「datetime」モジュールでは、日付を扱うプログラムを作成できます。 このモジュールを使用することにより、日付や時刻などのデータ型を利用す...

以上がログファイルからある一定の文字列を含むメッセージを抽出するプログラムとなります。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Python
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次