home.social

#logtape — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #logtape, aggregated by home.social.

fetched live
  1. #LogTape 2.2.0 is out! New: lint rules for ESLint, Oxlint & Deno Lint that catch common logging mistakes, testing utilities with assertion helpers, request context for HTTP integrations in one option, and seven core performance improvements. #JavaScript #TypeScript #Node #NodeJS #Deno #Bun #logging

    LogTape 2.2.0: Lint rules, tes...

  2. #LogTape 2.2.0 is out!

    The headline is two new packages:

    @logtape/lint adds lint rules for ESLint v8/v9 (flat config), Oxlint, and Deno Lint that catch common logging mistakes before they reach production: template literal interpolation in message arguments, eager property evaluation where lazy is needed, unawaited async log callbacks, and missing meta sink configuration.

    @logtape/testing gives you createLogRecorder() and domain-aware assertion helpers, replacing the hand-rolled array-sink boilerplate that every project ends up writing.

    Other highlights:

    • context: true on Express/Hono/Koa/Elysia middleware handles request ID generation, x-request-id header propagation, and implicit context. One option instead of several moving parts.

    • Seven performance optimizations on the enabled-logging hot path

    • New logtape.org website

    Full release notes: https://github.com/dahlia/logtape/discussions/179

    #JavaScript #TypeScript #Deno #Node #NodeJS #Bun #logging #opensource

  3. I've opened a proposal for #LogTape to support configuration from plain objects, making it possible to load #logging configs from JSON/YAML/TOML files.

    The idea is similar to Python's logging.config.dictConfig()—you'd be able to configure sinks, formatters, and loggers declaratively, making it easier to manage different configs for dev/staging/prod without touching code.

    Would love to hear your thoughts, especially if you've worked with similar patterns in other ecosystems.

    https://github.com/dahlia/logtape/issues/117

  4. I've opened a proposal for #LogTape to support configuration from plain objects, making it possible to load #logging configs from JSON/YAML/TOML files.

    The idea is similar to Python's logging.config.dictConfig()—you'd be able to configure sinks, formatters, and loggers declaratively, making it easier to manage different configs for dev/staging/prod without touching code.

    Would love to hear your thoughts, especially if you've worked with similar patterns in other ecosystems.

    https://github.com/dahlia/logtape/issues/117

  5. I implemented data redaction for #LogTape today. The feature will be available through a dedicated package called @logtape/redaction (JSR & npm). It provides two complementary approaches to protect sensitive information in your logs:

    1. Pattern-based redaction: Uses regex patterns to identify and mask sensitive data in formatted log output
    2. Field-based redaction: Redacts properties by field names in structured log data

    Looking forward to releasing this with LogTape 0.10.0 soon!

  6. I implemented data redaction for #LogTape today. The feature will be available through a dedicated package called @logtape/redaction (JSR & npm). It provides two complementary approaches to protect sensitive information in your logs:

    1. Pattern-based redaction: Uses regex patterns to identify and mask sensitive data in formatted log output
    2. Field-based redaction: Redacts properties by field names in structured log data

    Looking forward to releasing this with LogTape 0.10.0 soon!

  7. #LogTape 0.9.0をリリースしました!🎉

    今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:

    1. 新しい同期設定APIconfigureSync()disposeSync()resetSync()を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です!

    2. ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ@logtape/fileに移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。

    さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。

    移行の詳細については、リリースノートをご覧ください。

    https://zenn.dev/hongminhee/articles/98989e400c5fcf

    #JavaScript #TypeScript #ロギング

  8. #LogTape 0.9.0をリリースしました!🎉

    今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:

    1. 新しい同期設定APIconfigureSync()disposeSync()resetSync()を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です!

    2. ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ@logtape/fileに移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。

    さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。

    移行の詳細については、リリースノートをご覧ください。

    https://zenn.dev/hongminhee/articles/98989e400c5fcf

    #JavaScript #TypeScript #ロギング

  9. Just released #LogTape 0.9.0! 🎉

    This version brings two major improvements to our zero-dependency #logging library for #TypeScript:

    1. New Synchronous Configuration API: You can now configure LogTape synchronously with configureSync(), disposeSync(), and resetSync(). Perfect for simpler setups where you don't need async operations!

    2. Better Runtime Compatibility: We've moved all file-related components to a separate @logtape/file package. This means the core package now works flawlessly across all JavaScript environments—browsers, edge functions, and various bundlers without any file system dependencies.

    Plus, we've added level mapping options for console sinks, giving you more control over how your logs appear.

    Check out the full release notes for migration details:

    https://hackers.pub/@hongminhee/2025/logtape-090

  10. Just released #LogTape 0.9.0! 🎉

    This version brings two major improvements to our zero-dependency #logging library for #TypeScript:

    1. New Synchronous Configuration API: You can now configure LogTape synchronously with configureSync(), disposeSync(), and resetSync(). Perfect for simpler setups where you don't need async operations!

    2. Better Runtime Compatibility: We've moved all file-related components to a separate @logtape/file package. This means the core package now works flawlessly across all JavaScript environments—browsers, edge functions, and various bundlers without any file system dependencies.

    Plus, we've added level mapping options for console sinks, giving you more control over how your logs appear.

    Check out the full release notes for migration details:

    https://hackers.pub/@hongminhee/2025/logtape-090

  11. Just responded to some browser compatibility issues with #LogTape. Turns out bundling everything in one package creates headaches for Next.js and other browser environments.

    For the next minor version, we're breaking things up:

    • @logtape/logtape will be browser-friendly with zero compromises
    • @logtape/file will handle filesystem operations
    • Other specialized features will get their own packages

    This should make LogTape work seamlessly across all environments while giving developers better control over what they include.

  12. Just responded to some browser compatibility issues with #LogTape. Turns out bundling everything in one package creates headaches for Next.js and other browser environments.

    For the next minor version, we're breaking things up:

    • @logtape/logtape will be browser-friendly with zero compromises
    • @logtape/file will handle filesystem operations
    • Other specialized features will get their own packages

    This should make LogTape work seamlessly across all environments while giving developers better control over what they include.

  13. Perhaps unsurprisingly, every project I've been working on in TypeScript lately has been using #LogTape: @fedify, @hollo, @botkit, Hackers' Pub…

  14. Perhaps unsurprisingly, every project I've been working on in TypeScript lately has been using #LogTape: @fedify, @hollo, @botkit, Hackers' Pub…

  15. Haven't talked about LogTape in a while—it's a #logging library I made for #JavaScript and #TypeScript. You know how logging can be a pain point in JavaScript/TypeScript development? Well, I tried to address some common frustrations.

    What makes it special

    Zero dependencies

    We've all been there with dependency hell, right? #LogTape has absolutely no external dependencies. Install it without worrying about bloating your node_modules.

    Hierarchical categories

    You can organize your logs in a tree structure. Want to save only database-related logs to a file? Easy to do. Child categories can inherit settings from their parents too, which keeps things clean and manageable.

    Library-friendly

    Writing a library and want to include logs without stepping on your users' toes? LogTape lets you add logging to your library while giving end users complete control over how those logs are handled.

    Structured logging

    Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.

    Runs anywhere

    Works smoothly in Node.js, Deno, Bun, browsers, and even edge functions. No special configuration needed.

    Check out https://logtape.org/ if you're interested in learning more.

  16. Haven't talked about LogTape in a while—it's a #logging library I made for #JavaScript and #TypeScript. You know how logging can be a pain point in JavaScript/TypeScript development? Well, I tried to address some common frustrations.

    What makes it special

    Zero dependencies

    We've all been there with dependency hell, right? #LogTape has absolutely no external dependencies. Install it without worrying about bloating your node_modules.

    Hierarchical categories

    You can organize your logs in a tree structure. Want to save only database-related logs to a file? Easy to do. Child categories can inherit settings from their parents too, which keeps things clean and manageable.

    Library-friendly

    Writing a library and want to include logs without stepping on your users' toes? LogTape lets you add logging to your library while giving end users complete control over how those logs are handled.

    Structured logging

    Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.

    Runs anywhere

    Works smoothly in Node.js, Deno, Bun, browsers, and even edge functions. No special configuration needed.

    Check out https://logtape.org/ if you're interested in learning more.

  17. Just released @logtape/sentry, a sink for @getsentry! Now you can easily send your logs to .

    github.com/dahlia/logtape-sent

  18. 0.7.0をリリースしました!

    新機能の暗黙的コンテキストにより、リクエストID、ユーザーIDなどの文脈情報を、手動で渡すことなくログに自動的に含められるようになりました。

    詳しくは記事をご覧ください:

    zenn.dev/hongminhee/articles/3

  19. Just released 0.7.0 with implicit contexts! Now you can automatically include request IDs, user IDs, and more in your logs without passing context manually. Read more about this powerful feature:

    dev.to/hongminhee/introducing-

  20. Just released #LogTape 0.7.0 with implicit contexts! Now you can automatically include request IDs, user IDs, and more in your logs without passing context manually. Read more about this powerful feature:

    dev.to/hongminhee/introducing-

    #TypeScript #JavaScript #logging

  21. v0.6.0, a zero-dependency structured logging library for & , has been released. The main changes include:

    • Loggers now can override sinks of their ascendants.
    • Placeholders in message templates now forgive leading and trailing spaces.
    • Added LogRecord.rawMessage property.
    • Built-in text formatters now can be customized.

    Available now from JSR and npm:

    • JSR: jsr.io/@logtape/[email protected]
    • npm: npmjs.com/package/@logtape/log

  22. Starting with the next version of , the built-in text formatters will be highly customizable.

    unstable.logtape.org/manual/fo

  23. Refactoring 's built-in text formatters… It will provide options for more flexible configuration.

  24. Wow, a lot of people starred the #LogTape repo overnight! It's now over 200 stars, thank you.

  25. #Fedify offers robust logging capabilities through integration with LogTape. This feature allows you to easily debug and monitor your Fedify app!

    To enable #logging, simply install the @logtape/logtape package and configure it in your app's entry point:

    import { configure, getConsoleSink } from "@logtape/logtape";
    
    await configure({
      sinks: { console: getConsoleSink() },
      filters: {},
      loggers: [
        { category: "your-app", sinks: ["console"], level: "debug" },
        { category: "fedify",   sinks: ["console"], level: "info" },
      ],
    });
    

    Fedify uses hierarchical categories for fine-grained control over log output. Key categories include ["fedify", "federation", "http"] for HTTP requests/responses and ["fedify", "federation", "inbox"]/["fedify", "federation", "outbox"] for incoming/outgoing activities. (There are more categories.)

    With #LogTape integration, you gain valuable insights into your Fedify app's behavior, making troubleshooting and optimization much more straightforward!

    https://fedify.dev/manual/log

    #fedidev