Go to the documentation of this file.00001 #ifndef logging_log_svc_handler_H
00002 #define logging_log_svc_handler_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __cplusplus
00029 #error This is a C++ include file and cannot be used from plain C
00030 #endif
00031
00032 #include "loggingHandler.h"
00033 #include "loggingExport.h"
00034 #include <stdarg.h>
00035 #include <ace/Log_Priority.h>
00036
00037 namespace Logging {
00038
00045 Logging::BaseLog::Priority
00046 ace2acsPriority(ACE_Log_Priority acePriority);
00047
00055 ACE_Log_Priority
00056 acs2acePriority(Logging::BaseLog::Priority acsPriority);
00057
00058
00062 class logging_EXPORT LogSvcHandler : public virtual Handler
00063 {
00064 public:
00065
00072 LogSvcHandler(const std::string& soName);
00073
00077 virtual void
00078 log(const LogRecord&);
00079
00083 virtual std::string
00084 getName() const;
00085
00089 virtual void
00090 setLevels(Priority remotePriority, Priority localPriority, int type);
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00106 struct DeprecatedLogInfo
00107 {
00108 Priority priority;
00109 std::string message;
00110 };
00111
00116 static const int MAX_MESSAGE_SIZE = 1000;
00117
00130 static DeprecatedLogInfo
00131 unformatted2formatted(ACE_Log_Priority messagePriority,
00132 const char *fmt,
00133 ...)
00134 #if defined(__GNUC__)
00135 __attribute__ ((format (printf, 2, 3)))
00136 #endif
00137 ;
00138
00139 private:
00143 std::string sourceObjectName_m;
00144 };
00145
00146 };
00147
00148
00149 #endif