Library: Input/output
A predefined stream that controls output to a stream buffer associated with the object stderr declared in <cstdio>
#include <iostream> namespace std { extern wostream wclog; }
The object wclog controls output to a stream buffer associated with the object stderr declared in <cstdio>. The difference between wclog and wcerr is that wclog is buffered, but wcerr isn't. Therefore, commands like wclog << L"ERROR !!"; and fprintf(stderr,"ERROR !!"); are not synchronized. wclog uses the locale codecvt facet to convert the wide characters it receives to the tiny characters it outputs to stderr.
The formatting is done through member functions or manipulators. See cout, wcout or basic_ostream for details.
wclog can be used to redirect some of the errors to another recipient. For example, you might want to redirect them to a file named my_err:
wofstream out("my_err"); if ( out ) wclog.rdbuf(out.rdbuf()); else cerr << "Error while opening the file" << endl;
Then when you are doing something like wclog << L"error number x"; the error message is output to the file my_err. You can use the same scheme to redirect wclog to other devices.
basic_ostream, basic_iostream, basic_filebuf, cout, cin, cerr, clog, wcin, wcout, wcerr, ios_base, basic_ios
ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 27.3.2