util: Add helper function to build timestamp string

* src/util/util.h
* src/util/util.c
* src/libvirt_private.syms
This commit is contained in:
Osier Yang 2010-11-01 12:17:14 +08:00 committed by Eric Blake
parent d02d548e2a
commit af3ba2cd50
3 changed files with 32 additions and 0 deletions

View File

@ -779,6 +779,7 @@ virStrToLong_ui;
virStrToLong_ull;
virStrcpy;
virStrncpy;
virTimestamp;
# uuid.h

View File

@ -38,6 +38,7 @@
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <sys/time.h>
#if HAVE_MMAP
# include <sys/mman.h>
#endif
@ -2912,3 +2913,30 @@ int virBuildPathInternal(char **path, ...)
return ret;
}
/**
* virTimestamp:
*
* Return an allocated string containing the current date and time,
* followed by ": ". Return NULL on allocation failure.
*/
char *
virTimestamp(void)
{
struct timeval cur_time;
struct tm time_info;
char timestr[100];
char *timestamp;
gettimeofday(&cur_time, NULL);
localtime_r(&cur_time.tv_sec, &time_info);
strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S", &time_info);
if (virAsprintf(&timestamp, "%s.%03d: ",
timestr, (int) cur_time.tv_usec / 1000) < 0) {
return NULL;
}
return timestamp;
}

View File

@ -160,6 +160,7 @@ int virFileOpenTtyAt(const char *ptmx,
char* virFilePid(const char *dir,
const char *name);
int virFileWritePidPath(const char *path,
pid_t pid) ATTRIBUTE_RETURN_CHECK;
int virFileWritePid(const char *dir,
@ -277,4 +278,6 @@ void virFileWaitForDevices(void);
# define virBuildPath(path, ...) virBuildPathInternal(path, __VA_ARGS__, NULL)
int virBuildPathInternal(char **path, ...) ATTRIBUTE_SENTINEL;
char *virTimestamp(void);
#endif /* __VIR_UTIL_H__ */