libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
plotsocketappender.h
1 #ifndef PLOTSOCKETAPPENDER_H
2 #define PLOTSOCKETAPPENDER_H
3 
4 #ifndef MOVE3D_LOG_OFF
5 
6 #include <log4cxx/spi/loggingevent.h>
7 #include <log4cxx/appenderskeleton.h>
8 #include <log4cxx/net/socketappenderskeleton.h>
9 
10 #include "Logging/Logger.h"
11 
12 namespace log4cxx{
13 class PlotSocketAppender : public log4cxx::net::SocketAppenderSkeleton
14 {
15  MOVE3D_STATIC_LOGGER;
16 public:
20  static int DEFAULT_PORT;
21 
26 
27  DECLARE_LOG4CXX_OBJECT(PlotSocketAppender)
28 
29  BEGIN_LOG4CXX_CAST_MAP()
30  LOG4CXX_CAST_ENTRY(PlotSocketAppender)
31  LOG4CXX_CAST_ENTRY_CHAIN(AppenderSkeleton)
32  END_LOG4CXX_CAST_MAP()
33 
35  PlotSocketAppender(helpers::InetAddressPtr& address, int port);
36  PlotSocketAppender(const LogString& host, int port);
37 
38  ~PlotSocketAppender();
39 
40 protected:
41  virtual void setSocket(log4cxx::helpers::SocketPtr& socket, log4cxx::helpers::Pool& p);
42 
43  virtual void cleanUp(log4cxx::helpers::Pool& p);
44 
45  virtual int getDefaultDelay() const;
46 
47  virtual int getDefaultPort() const;
48 
49 
50  // This method is called by the AppenderSkeleton#doAppend method
51  void append(const log4cxx::spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p);
52 
53  //void close();
54 
55  //bool isClosed() const { return closed; }
56 
57  bool requiresLayout() const { return true; }
58 
59 private:
60  log4cxx::helpers::ObjectOutputStreamPtr oos;
61 
62 };
63 
64 }
65 
66 #endif // MOVE3D_LOG_OFF
67 #endif // PLOTSOCKETAPPENDER_H
static int DEFAULT_RECONNECTION_DELAY
The default reconnection delay (30000 milliseconds or 30 seconds).
Definition: plotsocketappender.h:25
Definition: plotsocketappender.h:13
This file implements macros to help with the logging, in a way similar to ROS, using log4cxx...
static int DEFAULT_PORT
The default port number of remote logging server (4560).
Definition: plotsocketappender.h:20