What I'm looking for, is a way of collecting runtime stats without
having 2 versions of the code (one that prints it out and one that
doesn't).
How could I do this without logging?

On Wed, Jan 2, 2013 at 4:40 PM, Ted Dunning <[email protected]> wrote:
> The normal answer is that we use slf4j.  If you log at debug or info level,
> then your conditionals shouldn't be necessary.
>
> Returning the log as a stream is pretty unusual, but some high performance
> systems can't handle the overhead of even something like slf4j.  Typically,
> this is because these systems need to make the decision about logging level
> somewhat after the fact ... i.e. they need to log at a substantial level,
> but only store the results if something goes wrong.
>
> I don't think that streaming k-means is in this category.
>
> On Wed, Jan 2, 2013 at 4:05 AM, Dan Filimon 
> <[email protected]>wrote:
>
>> I can add a Logger as a member variable and log the progress there, or
>> can just to printfs (which seems really dirty).
>>
>> What's the best way of doing this? I'd prefer having the output, at
>> least when evaluating the quality of the code, but on the other hand
>> it'd be nice to disable logging when running in production.
>>
>> I'm thinking of adding Logger progressLogger and a boolean
>> enableLogging variables to the algorithm classes to control this.
>>
>> But then, it'd also be nice to return the log as a stream when the
>> algorithm is done. So, there'd be a getLog() method.
>>

Reply via email to