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.