1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[自作ライブラリ] VersaLog.py

Last updated at Posted at 2025-06-25

VersaLog.pyとは?

VersaLog.py は、多機能で柔軟なログ出力を簡単に実現できる Python ライブラリです。
シンプルな表示から詳細な実行情報まで、用途に応じたログ形式を選べます。

詳細・導入方法はこちら:
リポジトリ

どんな機能があるの?

大きく分けて、4つです。


機能モード 説明
simple シンプルで見やすいログを出力します。色付き・レベル付き
simple2 シンプルで見やすいログを出力します。実行時間付き・色付き・レベル付き
detailed 実行時間、レベル付きログ
file ファイル名、行数付きログ

⚠️ 注意
ログを出力する前に、必ず VersaLog(mode="...") でモードを設定してください。

オプションはあるの?

現在、設定可能なオプションは 7つ あります


オプション 説明
show_file ファイル情報有効/無効
show_tag タグ有効/無効
tag タグ
enable_all 全てのオプション有効/無効
notice ERROR&CRITICALを通知有効/無効
all_save 全てのログをlogファイルとして保存有効/無効
save_levels 特定のログレベルのログをlogファイルとして保存有効/無効

⚠️ 注意
True を指定しないと、有効になりません。

インストール方法は?

pip install VersaLog

実装方法

サンプルコード(simpleモード)
from VersaLog import *

# show_file False
logger = VersaLog(mode="simple")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_file True
logger = VersaLog(mode="simple", show_file=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_tag False
logger = VersaLog(mode="simple")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_tag True
logger = VersaLog(mode="simple", show_tag=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# notice False
logger = VersaLog(mode="simple")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# notice True
logger = VersaLog(mode="simple", notice=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# enable_all True
logger = VersaLog(mode="simple", tag="VersaLog",enable_all=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")
サンプルコード(simple2モード)
from VersaLog import *

# show_file False
logger = VersaLog(mode="simple2")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_file True
logger = VersaLog(mode="simple2", show_file=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_tag False
logger = VersaLog(mode="simple2")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_tag True
logger = VersaLog(mode="simple2", show_tag=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# notice False
logger = VersaLog(mode="simple2")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# notice True
logger = VersaLog(mode="simple2", notice=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# enable_all True
logger = VersaLog(mode="simple2", tag="VersaLog",enable_all=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")
サンプルコード(detailedモード)
from VersaLog import *

# show_file False
logger = VersaLog(mode="detailed")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_file True
logger = VersaLog(mode="detailed", show_file=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_tag False
logger = VersaLog(mode="detailed")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# show_tag True
logger = VersaLog(mode="detailed", show_tag=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# notice False
logger = VersaLog(mode="detailed")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# notice True
logger = VersaLog(mode="detailed", notice=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

# enable_all True
logger = VersaLog(mode="detailed", tag="VersaLog",enable_all=True)
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")
サンプルコード(fileモード)
from VersaLog import *

logger = VersaLog(mode="file")
logger.info("ok")
logger.err("err")
logger.war("war")

ℹ️ ヒント
show_file=False を指定すると、simpledetailed モードでもファイル情報(ファイル名・行数)は非表示になります。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?