logixia 1.12.3 → 1.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -13
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/index.js +1341 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/{logitron-logger.module-BLPFKbSa.d.mts → logitron-logger.module-CpffEHec.d.mts} +3 -3
- package/dist/{logitron-logger.module-BLPFKbSa.d.mts.map → logitron-logger.module-CpffEHec.d.mts.map} +1 -1
- package/dist/{logitron-logger.module-BRXjlbAx.d.ts → logitron-logger.module-DvqtI43C.d.ts} +3 -3
- package/dist/{logitron-logger.module-BRXjlbAx.d.ts.map → logitron-logger.module-DvqtI43C.d.ts.map} +1 -1
- package/dist/nest.d.mts +1 -1
- package/dist/nest.d.ts +1 -1
- package/package.json +12 -9
- package/scripts/postinstall.js +1 -0
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# logixia
|
|
2
2
|
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://raw.githubusercontent.com/Logixia/logixia/main/.github/assets/logixia-banner.png" alt="logixia: the async-first TypeScript logger. One install, every transport, never blocks the event loop." width="100%"/>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
3
7
|
<p align="center">
|
|
4
8
|
<strong>The async-first TypeScript logger that ships complete.</strong><br/>
|
|
5
9
|
Wide events · OpenTelemetry (OTLP) · Runtime log levels · Redaction · Adaptive sampling<br/>
|
|
@@ -14,6 +18,7 @@
|
|
|
14
18
|
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT"/></a>
|
|
15
19
|
<a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-5.0%2B-blue" alt="TypeScript"/></a>
|
|
16
20
|
<a href="https://logixia.github.io/logixia/"><img src="https://img.shields.io/badge/website-logixia.github.io-a855f7" alt="website"/></a>
|
|
21
|
+
<a href="#sponsor"><img src="https://img.shields.io/badge/sponsor-%E2%99%A5-a855f7" alt="sponsor"/></a>
|
|
17
22
|
</p>
|
|
18
23
|
|
|
19
24
|
<p align="center">
|
|
@@ -130,6 +135,7 @@ await logger.info('Server started', { port: 3000 });
|
|
|
130
135
|
- [CLI tool](#cli-tool)
|
|
131
136
|
- [explore — Visual TUI log explorer](#explore--visual-tui-log-explorer)
|
|
132
137
|
- [Configuration reference](#configuration-reference)
|
|
138
|
+
- [Sponsor](#sponsor)
|
|
133
139
|
- [Contributing](#contributing)
|
|
134
140
|
- [License](#license)
|
|
135
141
|
|
|
@@ -196,24 +202,26 @@ logixia takes a different approach: **everything ships built-in, and nothing blo
|
|
|
196
202
|
|
|
197
203
|
## Performance
|
|
198
204
|
|
|
199
|
-
logixia is async-first and built for the hot path: a synchronous fast path for in-process transports (no Promise allocated when the write completes synchronously), a millisecond-cached timestamp, lazy formatting (each transport formats once
|
|
205
|
+
logixia is async-first and built for the hot path: a synchronous fast path for in-process transports (no Promise allocated when the write completes synchronously), a millisecond-cached timestamp, lazy formatting (each transport formats once), and per-call work (level check, namespace resolution, redaction decision) served off pre-built caches.
|
|
200
206
|
|
|
201
|
-
|
|
207
|
+
Every library below writes the **same JSON output** to a null sink, so this measures serialization and framework overhead, not disk or terminal speed. Node 22, Apple Silicon, ops/sec (higher is better). Reproduce with `npm run benchmark`.
|
|
202
208
|
|
|
203
|
-
| Scenario
|
|
204
|
-
|
|
|
205
|
-
| Simple string log
|
|
206
|
-
|
|
|
207
|
-
|
|
|
208
|
-
|
|
|
209
|
-
|
|
|
210
|
-
|
|
|
209
|
+
| Scenario | pino | logixia (json) | winston |
|
|
210
|
+
| ---------------------------- | --------: | -------------: | --------: |
|
|
211
|
+
| Simple string log | 3,396,000 | 1,804,000 | 1,533,000 |
|
|
212
|
+
| Structured log (5 fields) | 1,308,000 | 931,000 | 729,000 |
|
|
213
|
+
| Error object logging | 1,192,000 | 1,587,000 | 1,078,000 |
|
|
214
|
+
| Child / per-request logger | 1,134,000 | 892,000 | 494,000 |
|
|
215
|
+
| Deep nested object | 1,327,000 | 1,023,000 | 549,000 |
|
|
216
|
+
| High-cardinality (12 fields) | 734,000 | 525,000 | 400,000 |
|
|
211
217
|
|
|
212
218
|
**What this means:**
|
|
213
219
|
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
220
|
+
- **pino is the fastest raw JSON serializer here.** It leads in 5 of 6 scenarios, by 21–47%. If raw throughput is the only thing you need, pino is a great choice.
|
|
221
|
+
- **logixia is 1.2–1.9× faster than winston in every scenario**, with p99 latency of 1–5µs, against winston's 2.5–7.5µs.
|
|
222
|
+
- logixia is ahead on error logging, partly because pino also serializes the full stack through its error serializer.
|
|
223
|
+
- logixia's default human-readable console format is faster than its JSON mode. `npm run benchmark` prints both.
|
|
224
|
+
- The point of logixia is everything else in one package: non-blocking file and database transports, tracing, redaction, OpenTelemetry, NestJS and the CLI. It aims to be fast enough that you never notice it, without six extra installs.
|
|
217
225
|
|
|
218
226
|
**Distinctive-feature throughput** (no cross-library equivalent — `npm run benchmark:features`):
|
|
219
227
|
|
|
@@ -2595,6 +2603,17 @@ interface LoggerConfig {
|
|
|
2595
2603
|
|
|
2596
2604
|
---
|
|
2597
2605
|
|
|
2606
|
+
## Sponsor
|
|
2607
|
+
|
|
2608
|
+
logixia is free and MIT-licensed, and it is built and maintained by one person. If it saves you time, sponsoring keeps it moving:
|
|
2609
|
+
|
|
2610
|
+
- [GitHub Sponsors](https://github.com/sponsors/webcoderspeed)
|
|
2611
|
+
- [PayPal](https://paypal.me/Sniperspeed)
|
|
2612
|
+
|
|
2613
|
+
`npm fund logixia` prints the same links.
|
|
2614
|
+
|
|
2615
|
+
---
|
|
2616
|
+
|
|
2598
2617
|
## Contributing
|
|
2599
2618
|
|
|
2600
2619
|
```bash
|