00001
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef LOG4SENDPP_APPENDER_H
00031 #define LOG4SENDPP_APPENDER_H
00032
00033 #include <log4sendpp/log4sendpp.h>
00034
00035 #include <vector>
00036
00037 #include <log4sendpp/logger.h>
00038
00039
00040 LOG4SENDPP_NS_START
00041
00042 class Formatter;
00043 class LocationInformation;
00044
00045
00048 class LOG4SENDPP_API_DECL0 Appender
00049 {
00050 public:
00051
00055 Appender(Formatter *formatter);
00056
00066 virtual void append (Logger::Level level,
00067 LOG4SENDPP_STD_NS::string msg,
00068 LOG4SENDPP_STD_NS::string category,
00069 LOG4SENDPP_INT64 stamp,
00070 const LocationInformation *loginfo,
00071 const Logger::DiagnosticInformation *diaginfo) = 0;
00072
00076 void setFormatter (Formatter *formatter);
00077
00080 virtual ~Appender();
00081
00085 virtual bool isWorking() const = 0;
00086
00090 virtual void writeString(const LOG4SENDPP_STD_NS::string &data) = 0;
00091
00095 Formatter * getFormatter() const;
00096
00097 private:
00098
00099 LOG4SENDPP_STD_NS::auto_ptr<Formatter> formatter;
00100 };
00101
00102
00103 LOG4SENDPP_NS_END
00104
00105
00106 #endif // LOG4SENDPP_APPENDER_H
00107