18#ifndef _LOG4CXX_STREAM_H
19#define _LOG4CXX_STREAM_H
55 void insert(std::ios_base & (*manip)(std::ios_base&));
87 std::ios_base::fmtflags
flags(std::ios_base::fmtflags newflags);
91 std::ios_base::fmtflags
setf(std::ios_base::fmtflags newflags, std::ios_base::fmtflags mask);
95 std::ios_base::fmtflags
setf(std::ios_base::fmtflags newflags);
167 bool& fillSet)
const = 0;
183 class LOG4CXX_EXPORT logstream_ios_base :
public std::ios_base
186 logstream_ios_base(std::ios_base::fmtflags initval,
188 } initset, initclear;
278 operator std::basic_ostream<Ch>& ();
280#if !(LOG4CXX_USE_GLOBAL_SCOPE_TEMPLATE)
290 ((std::basic_ostream<char>&) *
this) << val;
308 bool& fillSet)
const;
315 std::basic_stringstream<Ch>* stream;
319#if LOG4CXX_WCHAR_T_API
382 operator std::basic_ostream<Ch>& ();
384#if !(LOG4CXX_USE_GLOBAL_SCOPE_TEMPLATE)
394 ((std::basic_ostream<wchar_t>&) *
this) << val;
411 bool& fillSet)
const;
418 std::basic_stringstream<Ch>* stream;
423#if LOG4CXX_UNICHAR_API || LOG4CXX_CFSTRING_API
443#if LOG4CXX_UNICHAR_API
457#if LOG4CXX_CFSTRING_API
493 operator std::basic_ostream<Ch>& ();
495#if !(LOG4CXX_USE_GLOBAL_SCOPE_TEMPLATE)
505 ((std::basic_ostream<Ch>&) *
this) << val;
522 bool& fillSet)
const;
529 std::basic_stringstream<Ch>* stream;
538#if LOG4CXX_USE_GLOBAL_SCOPE_TEMPLATE
554 ((std::basic_ostream<char>&) os) << val;
560#if LOG4CXX_WCHAR_T_API
570 ((std::basic_ostream<wchar_t>&) os) << val;
578#if !defined(LOG4CXX_ENDMSG)
579 #if LOG4CXX_LOGSTREAM_ADD_NOP
580 #define LOG4CXX_ENDMSG (log4cxx::logstream_manipulator) log4cxx::logstream_base::nop >> LOG4CXX_LOCATION << (log4cxx::logstream_manipulator) log4cxx::logstream_base::endmsg
582 #define LOG4CXX_ENDMSG LOG4CXX_LOCATION << (log4cxx::logstream_manipulator) log4cxx::logstream_base::endmsg
Base class for the basic_logstream template which attempts to emulate std::basic_ostream but attempts...
Definition: stream.h:38
std::ios_base::fmtflags setf(std::ios_base::fmtflags newflags)
Set flags.
int fill(int newval)
Set fill character.
virtual void log(LoggerPtr &logger, const LevelPtr &level, const log4cxx::spi::LocationInfo &location)=0
Dispatches the pending log request.
int width(int newval)
set width.
virtual void erase()=0
Erase any content in the message construction buffer.
void end_message()
end of message action.
int fill()
Get fill character.
std::ios_base::fmtflags flags(std::ios_base::fmtflags newflags)
Set flags.
void setLevel(const LevelPtr &level)
Set the level.
void setLocation(const log4cxx::spi::LocationInfo &location)
Sets the location for subsequent log requests.
int precision(int newval)
set precision.
bool isEnabledFor(const LevelPtr &level) const
Returns if logger is currently enabled for the specified level.
virtual ~logstream_base()
Destructor.
logstream_base(const log4cxx::LoggerPtr &logger, const log4cxx::LevelPtr &level)
Create new instance.
std::ios_base::fmtflags setf(std::ios_base::fmtflags newflags, std::ios_base::fmtflags mask)
Set flags.
virtual void refresh_stream_state()=0
static logstream_base & endmsg(logstream_base &)
end of message manipulator, triggers logging.
void insert(std::ios_base &(*manip)(std::ios_base &))
Insertion operator for std::fixed and similar manipulators.
static logstream_base & nop(logstream_base &)
no-operation manipulator, Used to avoid ambiguity with VC6.
virtual void get_stream_state(std::ios_base &base, std::ios_base &mask, int &fill, bool &fillSet) const =0
Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill c...
bool set_stream_state(std::ios_base &os, int &fillchar)
Sets the state of the embedded stream (if any) to the state of the formatting info.
bool isEnabled() const
Returns true if the current level is the same or high as the level of logger at time of construction ...
Definition: stream.h:124
int precision()
get precision.
An STL-like stream API for log4cxx using char as the character type.
Definition: stream.h:227
virtual void refresh_stream_state()
virtual void log(LoggerPtr &logger, const LevelPtr &level, const log4cxx::spi::LocationInfo &location)
Dispatches the pending log request.
logstream & operator<<(std::ios_base &(*manip)(std::ios_base &))
Insertion operator for std::fixed and similar manipulators.
logstream & operator<<(const log4cxx::LevelPtr &level)
Insertion operator for level.
virtual void get_stream_state(std::ios_base &base, std::ios_base &mask, int &fill, bool &fillSet) const
Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill c...
logstream(const Ch *loggerName, const log4cxx::LevelPtr &level)
Constructor.
logstream & operator>>(const log4cxx::spi::LocationInfo &location)
Alias for insertion operator for location.
virtual void erase()
Erase any content in the message construction buffer.
logstream(const std::basic_string< Ch > &loggerName, const log4cxx::LevelPtr &level)
Constructor.
logstream & operator<<(const log4cxx::spi::LocationInfo &location)
Insertion operator for location.
logstream & operator<<(logstream_manipulator manip)
Insertion operator for logstream_base::endmsg.
logstream(const log4cxx::LoggerPtr &logger, const log4cxx::LevelPtr &level)
Constructor.
log4cxx::logstream & operator<<(const V &val)
Template to allow any class with an std::basic_ostream inserter to be applied to this class.
Definition: stream.h:286
This class represents the location of a logging statement.
Definition: locationinfo.h:46
An STL-like stream API for log4cxx using UniChar as the character type.
Definition: stream.h:434
ulogstream & operator<<(const log4cxx::LevelPtr &level)
Insertion operator for level.
ulogstream(const CFStringRef &loggerName, const log4cxx::LevelPtr &level)
virtual void log(LoggerPtr &logger, const LevelPtr &level, const log4cxx::spi::LocationInfo &location)
Dispatches the pending log request.
virtual void erase()
Erase any content in the message construction buffer.
ulogstream(const log4cxx::LoggerPtr &logger, const log4cxx::LevelPtr &level)
Constructor.
ulogstream & operator>>(const log4cxx::spi::LocationInfo &location)
Alias for insertion operator for location.
virtual void get_stream_state(std::ios_base &base, std::ios_base &mask, int &fill, bool &fillSet) const
Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill c...
ulogstream(const std::basic_string< Ch > &loggerName, const log4cxx::LevelPtr &level)
Constructor.
ulogstream(const Ch *loggerName, const log4cxx::LevelPtr &level)
Constructor.
ulogstream & operator<<(logstream_manipulator manip)
Insertion operator for logstream_base::endmsg.
ulogstream & operator<<(const V &val)
Template to allow any class with an std::basic_ostream inserter to be applied to this class.
Definition: stream.h:501
ulogstream & operator<<(std::ios_base &(*manip)(std::ios_base &))
Insertion operator for std::fixed and similar manipulators.
ulogstream & operator<<(const log4cxx::spi::LocationInfo &location)
Insertion operator for location.
virtual void refresh_stream_state()
An STL-like stream API for log4cxx using wchar_t as the character type.
Definition: stream.h:330
wlogstream & operator<<(const log4cxx::spi::LocationInfo &location)
Insertion operator for location.
virtual void log(LoggerPtr &logger, const LevelPtr &level, const log4cxx::spi::LocationInfo &location)
Dispatches the pending log request.
wlogstream(const log4cxx::LoggerPtr &logger, const log4cxx::LevelPtr &level)
Constructor.
virtual void refresh_stream_state()
wlogstream & operator<<(logstream_manipulator manip)
Insertion operator for logstream_base::endmsg.
log4cxx::wlogstream & operator<<(const V &val)
Template to allow any class with an std::basic_ostream inserter to be applied to this class.
Definition: stream.h:390
wlogstream & operator>>(const log4cxx::spi::LocationInfo &location)
Alias for insertion operator for location.
wlogstream(const Ch *loggerName, const log4cxx::LevelPtr &level)
Constructor.
wlogstream & operator<<(const log4cxx::LevelPtr &level)
Insertion operator for level.
virtual void erase()
Erase any content in the message construction buffer.
wlogstream(const std::basic_string< Ch > &loggerName, const log4cxx::LevelPtr &level)
Constructor.
wlogstream & operator<<(std::ios_base &(*manip)(std::ios_base &))
Insertion operator for std::fixed and similar manipulators.
virtual void get_stream_state(std::ios_base &base, std::ios_base &mask, int &fill, bool &fillSet) const
Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill c...
#define LOG4CXX_UNLIKELY(expr)
Provides optimization hint to the compiler to optimize for the expression being false.
Definition: logger.h:1956
const struct __CFString * CFStringRef
Definition: logstring.h:30
std::basic_ostream< char > & operator<<(CharMessageBuffer &os, const V &val)
Definition: messagebuffer.h:185
Definition: configuration.h:25
std::shared_ptr< Level > LevelPtr
Definition: optionconverter.h:28
unsigned short UniChar
Definition: logstring.h:38
std::shared_ptr< Logger > LoggerPtr
Definition: defaultloggerfactory.h:27