They could.  Bunyan is pretty nice and has this capability as well.

On Wed, Jul 11, 2012 at 8:51 AM, Elad Ben-Israel
<[email protected]> wrote:
> On Wed, Jul 11, 2012 at 6:34 PM, Guillermo Rauch <[email protected]> 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 <[email protected]> wrote:
>>>>
>>>> On Tue, Jul 10, 2012 at 6:17 PM, Elad Ben-Israel
>>>> <[email protected]> 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