svlogd.c: support -ttt (dateTtime instead of date_time)
Backport from upstream version: 1.7.0 Sat, 07 Oct 2006 18:24:17 +0000 * svlogd.c: new option -ttt: prefix log messages with sortable UTC timestamp YYYY-MM-DDTHH:MM:SS.xxxxx. function old new delta svlogd_main 1429 1454 +25 packed_usage 31575 31580 +5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
ed820ccda1
commit
79c0d7332a
@ -137,9 +137,9 @@ log message, you can use a pattern like this instead
|
|||||||
//kbuild:lib-$(CONFIG_SVLOGD) += svlogd.o
|
//kbuild:lib-$(CONFIG_SVLOGD) += svlogd.o
|
||||||
|
|
||||||
//usage:#define svlogd_trivial_usage
|
//usage:#define svlogd_trivial_usage
|
||||||
//usage: "[-ttv] [-r C] [-R CHARS] [-l MATCHLEN] [-b BUFLEN] DIR..."
|
//usage: "[-tttv] [-r C] [-R CHARS] [-l MATCHLEN] [-b BUFLEN] DIR..."
|
||||||
//usage:#define svlogd_full_usage "\n\n"
|
//usage:#define svlogd_full_usage "\n\n"
|
||||||
//usage: "Continuously read log data from stdin and write to rotated log files in DIRs"
|
//usage: "Read log data from stdin and write to rotated log files in DIRs"
|
||||||
//usage: "\n"
|
//usage: "\n"
|
||||||
//usage: "\n""DIR/config file modifies behavior:"
|
//usage: "\n""DIR/config file modifies behavior:"
|
||||||
//usage: "\n""sSIZE - when to rotate logs"
|
//usage: "\n""sSIZE - when to rotate logs"
|
||||||
@ -339,17 +339,18 @@ static unsigned pmatch(const char *p, const char *s, unsigned len)
|
|||||||
/*** ex fmt_ptime.[ch] ***/
|
/*** ex fmt_ptime.[ch] ***/
|
||||||
|
|
||||||
/* NUL terminated */
|
/* NUL terminated */
|
||||||
static void fmt_time_human_30nul(char *s)
|
static void fmt_time_human_30nul(char *s, char dt_delim)
|
||||||
{
|
{
|
||||||
struct tm *ptm;
|
struct tm *ptm;
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
|
|
||||||
gettimeofday(&tv, NULL);
|
gettimeofday(&tv, NULL);
|
||||||
ptm = gmtime(&tv.tv_sec);
|
ptm = gmtime(&tv.tv_sec);
|
||||||
sprintf(s, "%04u-%02u-%02u_%02u:%02u:%02u.%06u000",
|
sprintf(s, "%04u-%02u-%02u%c%02u:%02u:%02u.%06u000",
|
||||||
(unsigned)(1900 + ptm->tm_year),
|
(unsigned)(1900 + ptm->tm_year),
|
||||||
(unsigned)(ptm->tm_mon + 1),
|
(unsigned)(ptm->tm_mon + 1),
|
||||||
(unsigned)(ptm->tm_mday),
|
(unsigned)(ptm->tm_mday),
|
||||||
|
dt_delim,
|
||||||
(unsigned)(ptm->tm_hour),
|
(unsigned)(ptm->tm_hour),
|
||||||
(unsigned)(ptm->tm_min),
|
(unsigned)(ptm->tm_min),
|
||||||
(unsigned)(ptm->tm_sec),
|
(unsigned)(ptm->tm_sec),
|
||||||
@ -1160,8 +1161,8 @@ int svlogd_main(int argc, char **argv)
|
|||||||
if (timestamp) {
|
if (timestamp) {
|
||||||
if (timestamp == 1)
|
if (timestamp == 1)
|
||||||
fmt_time_bernstein_25(stamp);
|
fmt_time_bernstein_25(stamp);
|
||||||
else /* 2: */
|
else /* 2+: */
|
||||||
fmt_time_human_30nul(stamp);
|
fmt_time_human_30nul(stamp, timestamp == 2 ? '_' : 'T');
|
||||||
printlen += 26;
|
printlen += 26;
|
||||||
printptr -= 26;
|
printptr -= 26;
|
||||||
memcpy(printptr, stamp, 25);
|
memcpy(printptr, stamp, 25);
|
||||||
|
Loading…
Reference in New Issue
Block a user