On May 10, 2012, at 11:38 AM, H. S. Teoh wrote: > On Thu, May 10, 2012 at 10:49:08AM -0700, Sean Kelly wrote: > >> I can't say that these exist in other standard libraries either, but I >> want: >> >> 1. A high-performance sockets API. >> 2. A robust logging tool (ie. Boost.Log). > > I thought std.log is in the queue? Or is it not powerful enough for what > you need?
Assuming I were actually using this at work, it's not powerful enough for what I'd need. At the very least, it needs configurable output filenames and rules-based log rolling. Fancier stuff like multiple formatters and sinks would be significant as well. Say I want the logger to dump to syslog on Unix or the Windows event logger, for example, plus console, file, and a user-defined location like a remote service with a socket API. Synchronous or asynchronous logging for high-latency writes would be important, unless that was left up to the user-defined sink implementation. Finally, I'd need some way to log to different sinks based on some rule. Say I want data for each user in a separate file, for example. Boost.Log is almost too configurable in this regard, and comes off as overcomplicated, but it does all this and more.