LogTape 0.9.0 リリース:同期設定APIとランタイム互換性の向上

2025/03/01に公開

LogTape 0.9.0のリリースを発表できることを嬉しく思います!このバージョンでは、さまざまなJavaScript環境での柔軟性を高めながら、一般的なユースケースでの設定を簡素化する重要な改善が含まれています。

新機能

同期設定API:セットアップの簡素化

同期バージョンの設定関数が追加されました:

これらの関数は、非同期操作が不要なシナリオ向けに、よりシンプルなAPIを提供します。プロミスを待つ必要なく、より直感的なコードが書けるようになりました。ただし、これらの関数はストリームシンクなど、非同期破棄を必要とするシンクやフィルターでは使用できない点に注意してください。ほとんどの一般的なログ設定では問題なく動作します。

import { configureSync, getConsoleSink } from "@logtape/logtape";

configureSync({
  sinks: {
    console: getConsoleSink(),
  },
  loggers: [
    {
      category: "my-app",
      lowestLevel: "info",
      sinks: ["console"],
    },
  ],
});

コンソールシンクの機能強化

  • ConsoleSinkOptions.levelMapオプションが追加され、ログレベルがコンソールメソッドにどのようにマッピングされるかをカスタマイズできるようになりました

破壊的変更

ファイルシンクが別パッケージに移動:クロスプラットフォームサポートの向上

ランタイム互換性を向上させるため、ファイル関連のシンクは@logtape/fileパッケージに移動されました:

この構造的変更により、コアの@logtape/logtapeパッケージはファイルシステム依存関係を導入することなく、ブラウザやエッジ関数を含むすべてのJavaScriptランタイムと完全に互換性を持つようになりました。これにより、以前はファイルシステムのインポートに問題があったWebpack、Rollup、Viteなどのバンドラーとの互換性が向上します。

移行ガイド

ファイルシンクを使用していた場合は、インポートを更新してください:

// 以前
import { getFileSink, getRotatingFileSink } from "@logtape/logtape";

// 変更後
import { getFileSink, getRotatingFileSink } from "@logtape/file";

新しいパッケージのインストールを忘れないでください:

# npm, pnpm, Yarn, Bun の場合
npm add @logtape/file

# Deno の場合
deno add jsr:@logtape/file

今後の展望

このリリースは、LogTapeをJavaScriptとTypeScriptアプリケーション向けの最も柔軟で開発者フレンドリーなロギングソリューションにするという私たちの継続的な取り組みを表しています。JavaScript生態系全体での互換性拡大とパフォーマンス向上を続けていきます。

貢献者

このリリースへの貴重な貢献をしてくださったMurph Murphy氏に特に感謝いたします。


いつものように、皆様のフィードバックと貢献を歓迎します!GitHubリポジトリで問題や改善提案を気軽にお寄せください。

快適なロギングライフを!

Discussion