Added a simple console driver program to the examples directory which allows you to output "Hello" to the console by different methods in arbitrary order.
With Visual Studio .NET 2003 under Windows XP, I could intermix any sequence of byte and wide C RTL, STL and log4cxx console output without any obvious problems. With gcc 3.3.5 on SuSE 9.3 x86, I could mix cout, wcout, log and puts without problems, but putws would stop anything but another putws to fail (including wcout) and would fail after any of the other methods. fwide(stdout, 1) had the same effect as fputws.
Based on the SuSE x86 observations, I would suggest having the console appender do something like:
if (fwide(stdout, -1) < 0)
Which should allow log statements to work after calls to fputws.
I appreciate observations of from x86_64 or other platforms. I do have an AMD64 portable and have SuSE 10 x86_64 available, but not installed.