trick/trick_source/sim_services/Message/message_publish_standalone.cpp

32 lines
925 B
C++
Raw Normal View History

2015-02-26 15:02:31 +00:00
#include <unistd.h>
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
// message_publish when you don't have a message publisher class
#define MAX_MSG_HEADER_SIZE 256
#define MAX_MSG_SIZE 20480
extern "C" int message_publish_standalone(int level, const char * format_msg, ...) {
char msg_buf[MAX_MSG_SIZE];
char date_buf[MAX_MSG_HEADER_SIZE];
char hostname[64];
time_t date ;
va_list args;
va_start(args, format_msg);
(void) vsnprintf(msg_buf, MAX_MSG_SIZE, format_msg, args);
va_end(args);
date = time(NULL) ;
strftime(date_buf, (size_t) 20, "%Y/%m/%d,%H:%M:%S", localtime(&date));
(void) gethostname(hostname, (size_t) 48);
fprintf(stdout, "|L %d|%s| |%s|T %d|%.2f| %s" , level,
// so that we don't call any exec routines, use process id 0 and sim time 0.0
date_buf, hostname , 0, 0.0, msg_buf) ;
fflush(stdout) ;
return (0);
}