On Wed, Jul 11, 2012 at 6:34 PM, Guillermo Rauch <rau...@gmail.com> wrote:
> Socket.io's logger is pluggable Unfortunately not all libraries employ pluggable logging :-) > > > On Wednesday, July 11, 2012, Elad Ben-Israel wrote: > >> >> >> On Wed, Jul 11, 2012 at 5:25 PM, Matt <hel...@gmail.com> wrote: >> >>> On Tue, Jul 10, 2012 at 6:17 PM, Elad Ben-Israel < >>> elad.benisr...@gmail.com> wrote: >>> >>>> Not sure exactly what use case Gaurav is interested in, but I was >>>> interested in this thread because I think there is an unmet need around >>>> logging which domain-attached context could help solve (even a single >>>> pointer to a global instance). Logs are emitted everywhere across >>>> application (and library) stack and in node, mostly via `console.xxx`. One >>>> useful feature would be to allow, for example, correlating all console logs >>>> emitted during the processing of an incoming request. A few logging >>>> libraries do allow pushing context but they all require passing along some >>>> state throughout the async hoops, which means modifying the way logging is >>>> done throughout the entire stack. >>>> >>> >>> Well yes, you can't use console.log(), but "Don't Do That" anyway, it's >>> bad practice. Look at how Haraka does logging - every log line gets a UUID >>> associated with the current connection/transaction. It has made tracing >>> issues with mail at Craigslist an absolute dream. >>> >>> >> Haraka is awesome but it has the privilege of being a 'mini ecosystem' >> where plugins must adhere to the Haraka environment (in which case, use the >> Haraka `this.logxxx()` functions which emit the request UUID by extracting >> them from the current context in `this`). >> >> Now say you would want to create a Hakara plugin that used a library like >> socket.io for example (just an example) which emits it's own logs - now >> what do you do? You will need to pass the Haraka `this` pointer all the way >> to every log callsite in the socket.io codebase. Not very practical. >> >> >> >>> Matt. >>> >> >> >> >> -- >> Elad. >> > > > -- > Guillermo Rauch > LearnBoost CTO > http://devthought.com > > -- Elad.