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.

Reply via email to