LogTape 0.10.0 リリース

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
本日、LogTape 0.10.0 のリリースを発表できることを嬉しく思います。このバージョンでは、セキュリティ、柔軟性、使いやすさを向上させるためのいくつかの重要な機能強化が導入されています。
LogTape とは?
LogTape は、複数のランタイム(Node.js、Deno、Bun、ブラウザ、エッジ関数)をサポートする、シンプルで依存関係のない JavaScript 用ロギングライブラリです。構造化ログ、階層的カテゴリ、テンプレートリテラルを特徴とし、アプリケーションとライブラリの両方で使用できるように設計されています。
主なハイライト
新しいデータ編集パッケージ
このリリースで最も注目すべき追加機能は、新しい @logtape/redaction パッケージです。これはログ内の機密情報を保護するために設計されています。このパッケージは、編集のための2つの補完的なアプローチを提供します:
- パターンベースの編集:正規表現を使用して、フォーマットされたログ出力内のクレジットカード番号、メールアドレス、トークンなどの機密パターンを識別し編集します。
- フィールドベースの編集:構造化ログデータ内の機密フィールドを名前で識別し編集します。
このパッケージには、一般的な機密データタイプのための組み込みパターンがいくつか含まれています:
- クレジットカード番号
- メールアドレス
- JSON Web トークン(JWT)
- 米国社会保障番号
- 韓国住民登録番号
両方のアプローチは独立して使用することも、最大限のセキュリティのために組み合わせることもできます。これらの機能に関する包括的なドキュメントは、マニュアルのデータ編集セクションで利用できます。
タイムスタンプフォーマットの改善
テキストフォーマッタは、フォーマットされたメッセージからタイムスタンプを完全に省略することをサポートするようになりました。TextFormatterOptions.timestamp
オプションが拡張され、"none"
と "disabled"
の値が含まれるようになり、ログ出力形式をより細かく制御できるようになりました。
遅延ファイルシンクオプション
新しい FileSinkOptions.lazy
オプションが追加され、ファイルシンクが実際に必要な場合にのみファイルを開くことができるようになり、リソース使用率を改善できます。
設定エラー検出
configure()
と configureSync()
関数は、同じカテゴリを持つ重複したロガー設定をチェックし、検出された場合に ConfigError
をスローするようになりました。これにより、意図しないロガー設定の上書きを防止します。
謝辞
このリリースを可能にしてくれた外部の貢献者に感謝します:
- Ooker - フォーマットされたメッセージからタイムスタンプを省略する機能を実装 (#35)
- Rickey Ward - 遅延ファイルシンクオプションを追加 (#38, #39)
すべてのユーザーにこれらの改善点を活用するために、このバージョンへのアップグレードをお勧めします。いつものように、皆様のフィードバックと貢献を歓迎します。
これらの変更の詳細については、完全な変更履歴をご覧ください。