diff --git a/src/formats/block_log.json b/src/formats/block_log.json index aaba6d82..3450d8a0 100644 --- a/src/formats/block_log.json +++ b/src/formats/block_log.json @@ -8,7 +8,7 @@ "pattern": "^(?\\S{3,8} \\w{3}\\s+\\d{1,2} \\d{2}:\\d{2}:\\d{2} \\w+ \\d{4})\\s*(?.*)$" }, "sq-brackets": { - "pattern": "^\\[(?\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3,6})?)Z?\\]\\s*(?.*)$" + "pattern": "^\\[(?\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3,6})?(?:Z|[-+]\\d{2}:?\\d{2})?)\\]\\s*(?.*)$" } }, "sample": [ diff --git a/src/logfile_sub_source.cc b/src/logfile_sub_source.cc index 8ad27c25..027f1900 100644 --- a/src/logfile_sub_source.cc +++ b/src/logfile_sub_source.cc @@ -329,6 +329,7 @@ logfile_sub_source::text_value_for_line(textview_curses& tc, = std::chrono::duration_cast( std::chrono::microseconds{adjusted_time.tv_usec}) .count(); + adjusted_tm.et_flags = format->lf_timestamp_flags; len = format->lf_date_time.ftime( buffer, sizeof(buffer), diff --git a/src/time_formats.am b/src/time_formats.am index 55274b56..969af5c5 100644 --- a/src/time_formats.am +++ b/src/time_formats.am @@ -34,7 +34,6 @@ TIME_FORMATS = \ "%a %b %d %H:%M:%S.%L " \ "%a %b %d %H:%M " \ "%a %b %e %H:%M:%S %Z %Y" \ - "%d/%b/%Y:%H:%M:%S +0000" \ "%d/%b/%Y:%H:%M:%S %z" \ "%d-%b-%Y %H:%M:%S %z" \ "%d-%b-%Y %H:%M:%S %Z" \ diff --git a/test/expected/expected.am b/test/expected/expected.am index da91305a..11d104a5 100644 --- a/test/expected/expected.am +++ b/test/expected/expected.am @@ -362,6 +362,8 @@ EXPECTED_FILES = \ $(srcdir)/%reldir%/test_logfile.sh_6602faf7817c494c33e32da7ee95f13aa9210d01.out \ $(srcdir)/%reldir%/test_logfile.sh_7c2e11488bccc59458b5775db4b90de964858259.err \ $(srcdir)/%reldir%/test_logfile.sh_7c2e11488bccc59458b5775db4b90de964858259.out \ + $(srcdir)/%reldir%/test_logfile.sh_8a5e754cd471e5fdcdaede49c9290903acd7aad6.err \ + $(srcdir)/%reldir%/test_logfile.sh_8a5e754cd471e5fdcdaede49c9290903acd7aad6.out \ $(srcdir)/%reldir%/test_logfile.sh_a7037efd0c4bbf51940137a44e57d94e9307e83e.err \ $(srcdir)/%reldir%/test_logfile.sh_a7037efd0c4bbf51940137a44e57d94e9307e83e.out \ $(srcdir)/%reldir%/test_logfile.sh_c18e14a26d8261c9f72747118a469266121d5459.err \ diff --git a/test/expected/test_logfile.sh_8a5e754cd471e5fdcdaede49c9290903acd7aad6.err b/test/expected/test_logfile.sh_8a5e754cd471e5fdcdaede49c9290903acd7aad6.err new file mode 100644 index 00000000..e69de29b diff --git a/test/expected/test_logfile.sh_8a5e754cd471e5fdcdaede49c9290903acd7aad6.out b/test/expected/test_logfile.sh_8a5e754cd471e5fdcdaede49c9290903acd7aad6.out new file mode 100644 index 00000000..dbd08034 --- /dev/null +++ b/test/expected/test_logfile.sh_8a5e754cd471e5fdcdaede49c9290903acd7aad6.out @@ -0,0 +1,3 @@ +Jul 20 15:59:26 2009 -- 000 +Jul 20 15:59:29 2009 -- 000 +Jul 20 15:59:29 2009 -- 000 diff --git a/test/test_cmds.sh b/test/test_cmds.sh index 733ee4e0..8dccf623 100644 --- a/test/test_cmds.sh +++ b/test/test_cmds.sh @@ -1,5 +1,6 @@ #! /bin/bash +export TZ=UTC export YES_COLOR=1 export DUMP_CRASH=1 diff --git a/test/test_date_time_scanner.cc b/test/test_date_time_scanner.cc index 86d08a28..34cfd9bd 100644 --- a/test/test_date_time_scanner.cc +++ b/test/test_date_time_scanner.cc @@ -39,6 +39,8 @@ #include "ptimec.hh" static const char* GOOD_TIMES[] = { + "2023-08-11T00:59:36.208491Z", + "09/Aug/2023:21:41:44 +0000", "2022-08-27T17:22:01.694554+03:00", "2022-08-27T17:22:01.694554+0300", "2022-08-27T17:22:01.694554+00:00", diff --git a/test/test_events.sh b/test/test_events.sh index 2266c4bd..494284e6 100644 --- a/test/test_events.sh +++ b/test/test_events.sh @@ -4,6 +4,7 @@ rm -rf events-home mkdir -p events-home export HOME=events-home export YES_COLOR=1 +export TZ=UTC run_cap_test ${lnav_test} -n \ -c ';SELECT json(content) as content FROM lnav_events' \ diff --git a/test/test_logfile.sh b/test/test_logfile.sh index 67019e31..6ed025ea 100644 --- a/test/test_logfile.sh +++ b/test/test_logfile.sh @@ -1,5 +1,6 @@ #! /bin/bash +export TZ=UTC echo ${top_srcdir} echo ${top_builddir} @@ -379,8 +380,6 @@ TCF 2014-04-06 11:01:11.475557: 0: <--- R 2 ["P1"] EOF -# The TCSH format converts to local time, so we need to specify a TZ -export TZ="UTC" run_test ./drive_logfile -t -f tcsh_history ${srcdir}/logfile_tcsh_history.0 check_output "TCSH timestamp interpreted incorrectly?" <