Can you give insights into what makes it different from e.g. pino[1]? It's amazingly even faster than console.logging because of the way it buffers the data.

[1]: https://github.com/pinojs/pino

Pino seems to be catered for backend, while this project looks to be more for web clients?

The primary purpose of the "halua" logger is to provide easy control over log levels and output systems in a single place

As of performance, let's address why "pino" is faster than console.log. Pino avoids using the console directly, as it is designed for the node environment and appears to utilize stdout.write for output. This approach gives Pino a performance advantage in benchmarks. As of now, "halua" is yet to be optimized. Your comment prompted me to conduct a quick benchmark tho. If you're interested, here are the results for 10_000 iterations:

// halua (console): 358ms (NewTextHandler(console.info))

// pino: 233ms

// halua (stdout): 253ms (NewTextHandler((data) => process.stdout.write(data)))

There's also JSON handler in halua, which is 10%-20% slower than text handler