00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _StdioNode_incl_
00021 #define _StdioNode_incl_
00022
00023 #include <rlog/common.h>
00024 #include <rlog/RLogNode.h>
00025
00026 namespace rlog
00027 {
00028
00029 class RLOG_DECL StdioNode : public RLogNode
00030 {
00031 public:
00032 enum StdioFlags
00033 {
00034 DefaultOutput = 0,
00035 OutputColor = 1,
00036 OutputThreadId = 2,
00037 OutputContext = 4,
00038 OutputChannel = 8
00039 };
00040
00041 StdioNode( int fdOut = 2, int flags = (int)DefaultOutput );
00042
00043 StdioNode( int fdOut, bool colorize_if_tty );
00044
00045 virtual ~StdioNode();
00046
00047 void subscribeTo( RLogNode *node );
00048
00049 protected:
00050 virtual void publish( const RLogData &data );
00051
00052 bool colorize;
00053 bool outputThreadId;
00054 bool outputContext;
00055 bool outputChannel;
00056 int fdOut;
00057
00058 StdioNode( const StdioNode & );
00059 StdioNode &operator = ( const StdioNode & );
00060 };
00061
00062 }
00063
00064 #endif