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. >
