Google Colaboratory でログファイルを出力する方法【logging入門】【サンプルコードあり】

3 min

Colab ではprint()を使用すればループ処理の実行途中の内容を出力できますが、ループ回数が多いと内容確認が大変です。本記事では出力結果をログファイルに出力する方法を紹介します。ログファイルとして出力することで内容確認が効率化できます。

広告_零号機

ログ出力

Google Colaboraotry については下記をご参考ください。

logconf の作成

まずはじめに logconf を作成します。

import os
_logconfpath = './log.conf'

logconfig = """
[loggers]
keys=root

[handlers]
keys=rotatinghandler, timedrotatinghandler

[formatters]
keys=_formatter

[logger_root]
level=DEBUG
handlers=rotatinghandler, timedrotatinghandler

[handler_rotatinghandler]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=_formatter
args=('./app.log', 'a', 1024*1024, 5, 'utf-8')

[handler_timedrotatinghandler]
class=handlers.TimedRotatingFileHandler
level=ERROR
formatter=_formatter
args=('./rotation.log', 'S', 1024*1024, 5, 'utf-8')


[formatter__formatter]
format=[%(process)d-%(thread)d]-%(asctime)s-[%(filename)s:%(lineno)d]-%(levelname)s-%(message)s
"""

f = open(_logconfpath, 'w')
f.write(logconfig)
f.close()

上記コードを実行することで Colab の 「/content」ディレクトリに log.conf が作成されます。

logger の初期化

下記コードを実行することでloggerが初期化されます。

import logging.config
logging.config.fileConfig(fname=_logconfpath)
_logger = logging.getLogger(__name__)

log 出力サンプル①

_logger.debug("debug")
_logger.info("info")
_logger.warning("warning")
_logger.error("error")

上記コードを実行することで Colab の 「/content」ディレクトリに app.log、rotaition.log が作成されます。

[58-140029969868672]-2022-04-29 13:03:42,128-[<ipython-input-3-7cc1b5ddc702>:1]-DEBUG-debug
[58-140029969868672]-2022-04-29 13:03:42,129-[<ipython-input-3-7cc1b5ddc702>:2]-INFO-info
[58-140029969868672]-2022-04-29 13:03:42,130-[<ipython-input-3-7cc1b5ddc702>:3]-WARNING-warning
[58-140029969868672]-2022-04-29 13:03:42,130-[<ipython-input-3-7cc1b5ddc702>:4]-ERROR-error

log 出力サンプル②

i = 0
for j in range(0,1000):
  _logger.info(f"{j}回目の処理を開始します")
  i = i + j
  _logger.info(f" *** 計算結果は{i}です ***")

上記コードを実行結果は下記のようになります。

ログファイルはダウンロード可能です

今回紹介した方法ではログファイルはセッションが有効なときのみ使用可能になります。ファイルを永続化したい場合は google drive をマウントして google drive 上に保存してください。

まとめ

本記事では、 本記事では、Google Colaboratory でログファイルを出力する方法を紹介しました。ご参考になりましたら twitter をフォローして SNS でシェアして頂ければ幸いです。

また、本記事で紹介した logging の応用事例についても合わせてご参考ください。

ご参考

ちなみに今回は、 動作確認環境として下記 Chromebook を使用しました。
14.0型フルHD × Core i3 × メモリ8GB を満たす数少ない端末です。
軽くて持ち運びしやすく開発に耐えうるスペックなのでおすすめです。

富士通|FUJITSU ノートパソコン FMV Chromebook 14F(タッチパネル) ダーククロム FCB143FB [14.0型 /Chrome OS /intel Core i3 /メモリ:8GB /SSD:128GB /タッチパネル対応 /2021年12月モデル]【point_rb】

価格:70,510円
(2022/2/23 18:35時点)
感想(1件)

IT・プログラミングに関する相談・依頼はこちら
広告_零号機-エリア2
kewton

kewton

大学院卒業後、某大手SIerで10年以上SEとして従事。
社会人3年目までに基本情報・応用情報技術者、データベーススペシャリスト、簿記3級・2級を取得。
基幹系システム・IoTシステム開発のプロジェクト経験多数。AI活用システムの企画・プロト開発経験あり。
強みは、プロマネだけでなく自身で開発も実施してきたこと。
【扱える言語】
C#、java、python、javascript、Excel VBA
【扱えるDB】
oracle、sql server、postgreSQL、mongoDB

FOLLOW

関連記事

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA