🌐

[OSS] VersaLogを作った話 -シンプルで拡張性のあるロギングライブラリ

に公開

🧍‍♂️ 自己紹介

個人でOSS開発をしている者です。
今回は「VersaLog」というロギングライブラリについて紹介します。

💡 VersaLogを作ったきっかけ

既存のLoggerライブラリは、高機能ではあるものの

  • 設定が複雑
  • コードが冗長
  • 初学者にはとっつきにくい

といった課題を感じていました。

「もっとシンプルにログを書けて、必要なときだけ柔軟に拡張できるものが欲しい」
そんな思いから VersaLog の開発を始めました。

🌍 OSSとして公開した理由

同じように「ログ出力をもう少しシンプルにしたい」と感じている人は多いと思い、
自分だけで使うのではなく、誰でも使える形にして公開することにしました。

実際に使ってもらいながら、改善点や新しいアイデアを一緒に育てていければと思っています。
今後もアップデートや改善を続けていく予定なので、ぜひフィードバックやアイデアをいただけると嬉しいです!

🧩 VersaLogとは?

VersaLog は、「シンプルで拡張性のあるロギング」を目指して開発した
軽量・拡張可能なロギングライブラリです。

標準の logging モジュールをベースにしつつ、
より直感的なAPIと柔軟な拡張性を備えています

💡 本記事では、Python実装版の VersaLog を例に紹介しています。

✨ 主な特徴

  • 設定ファイルなしで簡単に使えるシンプルな設計
  • フォーマッタやハンドラを自由に拡張可能
  • カラー出力など多彩な出力形式に対応
  • ロガーの構成がわかりやすく、初心者にも扱いやすい
  • 依存ライブラリ最小構成で、軽量かつ高速

💡 現在の対応環境

  • Python 実装版
  • Ruby 実装版
  • JavaScript 実装版
  • Go(Golang) 実装版
  • Rust 実装版
  • 今後、他言語向けにも展開予定

🧭 設計思想

VersaLogは単なるログライブラリではなく、
「どの言語でも似た使い方で扱える統一ログ基盤」を目指しています。

そのため、Python版でもGo版でも、同じような思想とAPI設計を採用しています。

💻 実際の使い方(Python版)

from VersaLog import *

logger = VersaLog(enum="detailed")
logger.info("ok")
logger.error("err")
logger.warning("war")
logger.debug("deb")
logger.critical("cri")

🔗 リンクまとめ

🚀 おわりに

VersaLogはまだ発展途上のプロジェクトですが、
「シンプルだけど拡張できる」ロギングの形を追求していきます。

もし気に入ってもらえたら、
ぜひ GitHubのスターやフィードバック をお願いします

Discussion