1 #ifndef CARMA_DBMS_SYSLOGMESSAGE_H
2 #define CARMA_DBMS_SYSLOGMESSAGE_H
20 static const size_t S_SHORT_LEN = 10;
21 static const size_t S_STD_LEN = 80;
22 static const size_t S_LONG_LEN = 1024;
24 size_t setDate(
double v )
27 return sizeof( double );
29 double getDate() {
return _mjd; };
31 size_t setLog(
const char *v )
33 return setLog( (
char *)v );
35 size_t setLog(
char *v )
37 size_t r = strnlen(v, S_STD_LEN)+1;
39 strncpy( _log, v, r );
43 char *getLog() {
return _log; };
45 size_t setHost(
const char *v )
47 return setHost( (
char *)v );
50 size_t setHost(
char *v )
52 size_t r = strnlen(v, S_STD_LEN)+1;
53 memset( _host, 0, r );
54 strncpy( _host, v, r );
58 char *getHost() {
return _host; };
60 size_t setProgram(
const char *v )
62 return setProgram( (
char *)v );
65 size_t setProgram(
char *v )
67 size_t r = strnlen(v, S_STD_LEN)+1;
68 memset( _program, 0, r );
69 strncpy( _program, v, r );
73 char *getProgram() {
return _program; };
75 size_t setPrio(
const char *v )
77 return setPrio( (
char *)v );
79 size_t setPrio(
char *v )
81 size_t r = strnlen(v, S_SHORT_LEN)+1;
82 memset( _prio, 0, r );
83 strncpy( _prio, v, r );
87 char *getCharPrio() {
return _prio; };
91 if ( ! strcmp( _prio,
"DEBUG" ) )
93 if ( ! strcmp( _prio,
"INFO" ) )
95 if ( ! strcmp( _prio,
"NOTICE" ) )
97 if ( ! strcmp( _prio,
"WARN" ) )
99 if ( ! strcmp( _prio,
"ERROR" ) )
101 if ( ! strcmp( _prio,
"CRIT" ) )
103 if ( ! strcmp( _prio,
"ALERT" ) )
105 if ( ! strcmp( _prio,
"FATAL" ) )
111 size_t setFullyQualifiedProgramName(
const char *v )
113 return setFullyQualifiedProgramName( (
char *)v );
115 size_t setFullyQualifiedProgramName(
char *v )
117 size_t r = strnlen(v, S_STD_LEN)+1;
118 memset( _fullyQualifiedProgramName, 0, r );
119 strncpy( _fullyQualifiedProgramName, v, r );
120 _fullyQualifiedProgramName[r] =
'\0';
123 char *getFullyQualifiedProgramName() {
124 return _fullyQualifiedProgramName; };
126 size_t setThreadInfo(
const char *v )
128 return setThreadInfo( (
char *)v );
130 size_t setThreadInfo(
char *v )
132 size_t r = strnlen(v, S_STD_LEN)+1;
133 memset( _threadInfo, 0, r );
134 strncpy( _threadInfo, v, r );
135 _threadInfo[r] =
'\0';
140 char *getThreadInfo() {
return _threadInfo; };
142 size_t setMessage(
const char *v )
144 return setMessage( (
char *)v );
146 size_t setMessage(
char *v )
148 size_t r = strnlen(v, S_LONG_LEN)+1;
149 memset( _message, 0, r );
150 strncpy( _message, v, r );
156 char *getMessage() {
return _message; };
160 size_t len =
sizeof(double);
161 len += strnlen(_log,S_STD_LEN)+1;
162 len += strnlen(_host,S_STD_LEN)+1;
163 len += strnlen(_program,S_STD_LEN)+1;
164 len += strnlen(_prio,S_SHORT_LEN)+1;
165 len += strnlen(_fullyQualifiedProgramName,S_STD_LEN)+1;
166 len += strnlen(_threadInfo,S_STD_LEN)+1;
167 len += strnlen(_message,S_LONG_LEN)+1;
174 std::ostringstream oss;
179 <<
"' host:'"<< _host
180 <<
"' program:'"<< _program
181 <<
"' prio:'"<< _prio
182 <<
"' fqpn:'"<< _fullyQualifiedProgramName
183 <<
"' threadInfo:'"<< _threadInfo
184 <<
"' message:'"<< _message <<
"'";
194 char _log[S_STD_LEN+5];
195 char _host[S_STD_LEN+5];
196 char _program[S_STD_LEN+5];
197 char _prio[S_SHORT_LEN+5];
198 char _fullyQualifiedProgramName[S_STD_LEN+5];
199 char _threadInfo[S_STD_LEN+5];
200 char _message[S_LONG_LEN+5];
208 ::std::ostream&
operator<<(::std::ostream &os, const ::carma::dbms::SyslogMessage *msg)
210 os << msg->toString();
214 ::std::ostream&
operator<<(::std::ostream &os, const ::carma::dbms::SyslogMessage &msg)
216 os << msg.toString();
221 #endif // CARMA_DBMS_SYSLOGMESSAGE_H
std::ostream & operator<<(::std::ostream &os, const carma::dbms::Table &table)
static std::string getDateTimeString(int precision=0, const std::string &dateFormat="%d%b%y")
Get date and time of day string for current time.
std::string toString(const SortOrder &sortOrder)
get a string representing the specified sort order