#logtape — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #logtape, aggregated by home.social.
-
#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... -
#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: trueon Express/Hono/Koa/Elysia middleware handles request ID generation,x-request-idheader 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
-
-
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.
-
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.
-
The next release of #LogTape will include adapters for popular logging libraries Pino and winston.
-
The next release of #LogTape will include adapters for popular logging libraries Pino and winston.
-
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:
- Pattern-based redaction: Uses regex patterns to identify and mask sensitive data in formatted log output
- Field-based redaction: Redacts properties by field names in structured log data
Looking forward to releasing this with LogTape 0.10.0 soon!
-
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:
- Pattern-based redaction: Uses regex patterns to identify and mask sensitive data in formatted log output
- Field-based redaction: Redacts properties by field names in structured log data
Looking forward to releasing this with LogTape 0.10.0 soon!
-
#LogTape 0.9.0をリリースしました!🎉
今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:
-
新しい同期設定API:
configureSync()、disposeSync()、resetSync()を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です! -
ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ
@logtape/fileに移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。
さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。
移行の詳細については、リリースノートをご覧ください。
-
-
#LogTape 0.9.0をリリースしました!🎉
今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:
-
新しい同期設定API:
configureSync()、disposeSync()、resetSync()を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です! -
ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ
@logtape/fileに移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。
さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。
移行の詳細については、リリースノートをご覧ください。
-
-
Just released #LogTape 0.9.0! 🎉
This version brings two major improvements to our zero-dependency #logging library for #TypeScript:
-
New Synchronous Configuration API: You can now configure LogTape synchronously with
configureSync(),disposeSync(), andresetSync(). Perfect for simpler setups where you don't needasyncoperations! -
Better Runtime Compatibility: We've moved all file-related components to a separate
@logtape/filepackage. 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:
-
-
Just released #LogTape 0.9.0! 🎉
This version brings two major improvements to our zero-dependency #logging library for #TypeScript:
-
New Synchronous Configuration API: You can now configure LogTape synchronously with
configureSync(),disposeSync(), andresetSync(). Perfect for simpler setups where you don't needasyncoperations! -
Better Runtime Compatibility: We've moved all file-related components to a separate
@logtape/filepackage. 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:
-
-
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/logtapewill be browser-friendly with zero compromises@logtape/filewill 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.
-
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/logtapewill be browser-friendly with zero compromises@logtape/filewill 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.
-
I am to resolve the pending issues of #LogTape this evening.
-
I am to resolve the pending issues of #LogTape this evening.
-
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.
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.
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.
Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.
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.
-
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.
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.
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.
Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.
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.
-
Just released @logtape/sentry, a #LogTape sink for @getsentry! Now you can easily send your logs to #Sentry.
-
Star History of #Fedify, #Hollo, and #LogTape:
https://star-history.com/#dahlia/fedify&dahlia/logtape&dahlia/hollo&Date
-
#LogTape 0.7.0をリリースしました!
新機能の暗黙的コンテキストにより、リクエストID、ユーザーIDなどの文脈情報を、手動で渡すことなくログに自動的に含められるようになりました。
詳しくは記事をご覧ください:
-
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:
https://dev.to/hongminhee/introducing-implicit-contexts-in-logtape-070-57fi
-
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:
https://dev.to/hongminhee/introducing-implicit-contexts-in-logtape-070-57fi
-
#LogTape v0.6.0, a zero-dependency structured logging library for #JavaScript & #TypeScript, 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: https://jsr.io/@logtape/[email protected]
• npm: https://www.npmjs.com/package/@logtape/logtape/v/0.6.0 -
Starting with the next version of #LogTape, the built-in text formatters will be highly customizable.
https://unstable.logtape.org/manual/formatters#configuring-text-formatters
-
Refactoring #LogTape's built-in text formatters… It will provide options for more flexible configuration.
-
Working on the #LogTape website… #VitePress saves me again.
-
Wow, a lot of people starred the #LogTape repo overnight! It's now over 200 stars, thank you.
-
#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/logtapepackage 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!