This repo exists only to help people understand that pino-http works seamlessly with express. To our knowledge, pino-http
is the fastest express logger in town.
Benchmarks log each request/response pair while returning
'hello world'
, using
autocannon with 100
connections and 10 pipelined requests (autocannon -c 100 -p 10 http://localhost:3000
).
express-bunyan-logger
: 2702 req/secexpress-winston
: 5953 req/secmorgan
: 8570 req/secpino-http
: 9807 req/secpino-http
(extreme): 10407 req/secpino-http
(without express): 22240.73 req/seqpino-http
(without express and extreme): 25536 req/sec
All benchmarks where taken on a Macbook Pro 2013 (2.6GHZ i7, 16GB of RAM).
Whilst we're comparing pino-http
against morgan, this isn't really a fair contest.
Morgan doesn't support logging arbitrary data, nor does it output JSON. Further Morgan uses a form of eval
to achieve high speed logging. Whilst probably safe, using eval
at all tends to cause concern, particular when it comes to server-side JavaScript.
The fact that pino-http
achieves higher throughput with JSON logging and arbitrary data, without using eval
, serves to emphasise the high-speed capabilities of pino-http
.
With pino-http
you can have features, safety and speed.