moby/daemon/logger
Sebastiaan van Stijn b19284a8de
daemon/logger/local: always use UTC for timestamps
When reading logs, timestamps should always be presented in UTC. Unlike
the "json-file" and other logging drivers, the "local" logging driver
was using local time.

Thanks to Roman Valov for reporting this issue, and locating the bug.

Before this change:

    echo $TZ
    Europe/Amsterdam

    docker run -d --log-driver=local nginx:alpine
    fc166c6b2c35c871a13247dddd95de94f5796459e2130553eee91cac82766af3

    docker logs --timestamps fc166c6b2c35c871a13247dddd95de94f5796459e2130553eee91cac82766af3
    2023-12-08T18:16:56.291023422+01:00 /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
    2023-12-08T18:16:56.291056463+01:00 /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
    2023-12-08T18:16:56.291890130+01:00 /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
    ...

With this patch:

    echo $TZ
    Europe/Amsterdam

    docker run -d --log-driver=local nginx:alpine
    14e780cce4c827ce7861d7bc3ccf28b21f6e460b9bfde5cd39effaa73a42b4d5

    docker logs --timestamps 14e780cce4c827ce7861d7bc3ccf28b21f6e460b9bfde5cd39effaa73a42b4d5
    2023-12-08T17:18:46.635967625Z /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
    2023-12-08T17:18:46.635989792Z /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
    2023-12-08T17:18:46.636897417Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
    ...

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit afe281964d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-01-04 18:33:33 +01:00
..
awslogs awslogs: fix non-blocking log drop bug 2023-04-17 11:59:53 -07:00
etwlogs panic() instead of logrus.Fatal() in init funcs 2022-04-21 12:15:20 +02:00
fluentd panic() instead of logrus.Fatal() in init funcs 2022-04-21 12:15:20 +02:00
gcplogs daemon/logger/gcplogs: remove ensureHomeIfIAmStatic workaround 2022-12-31 14:50:43 +01:00
gelf panic() instead of logrus.Fatal() in init funcs 2022-04-21 12:15:20 +02:00
journald logger/journald: fix SA4011: ineffective break statement 2022-07-20 16:57:22 +02:00
jsonfilelog daemon/logger: Increase initial buffers size 2022-05-30 20:50:56 +02:00
local daemon/logger/local: always use UTC for timestamps 2024-01-04 18:33:33 +01:00
logentries panic() instead of logrus.Fatal() in init funcs 2022-04-21 12:15:20 +02:00
loggertest daemon/logger: fix empty-lines (revive) 2022-09-30 23:59:31 +02:00
loggerutils use consistent alias for gotest.tools/v3/assert/cmp 2022-12-09 00:15:26 +01:00
splunk update golangci-lint to v1.54.2 2023-08-25 16:25:31 +02:00
syslog daemon/logger: fix empty-lines (revive) 2022-09-30 23:59:31 +02:00
templates staticcheck: ignore "SA1019: strings.Title is deprecated" 2022-03-16 12:11:54 +01:00
adapter.go Adds PartialLogMetadata to encode protobuf for logger plugins 2019-04-09 16:14:33 +05:00
adapter_test.go daemon/logger: fix empty-lines (revive) 2022-09-30 23:59:31 +02:00
copier.go Limit the rate at which logger errors are logged into daemon logs 2021-05-24 16:41:38 -07:00
copier_test.go Handle long log messages correctly on SizedLogger 2021-01-20 16:44:06 -08:00
factory.go Improve error feedback when plugin does not implement desired interface 2020-04-21 18:06:24 -03:00
log_cache_opts.go Support configuration of log cacher. 2020-02-19 17:02:34 -05:00
logger.go daemon/logger: Share buffers by sync.Pool 2022-05-27 16:44:06 +02:00
logger_error.go Limit the rate at which logger errors are logged into daemon logs 2021-05-24 16:41:38 -07:00
logger_test.go Improve partial message support in logger 2018-04-11 13:26:28 -07:00
loginfo.go Check the length of the correct variable #42039 2021-02-18 10:27:35 -06:00
metrics.go goimports: fix imports 2019-09-18 12:56:54 +02:00
plugin.go Entropy cannot be saved 2019-06-07 11:54:45 +01:00
plugin_unix.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
plugin_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
proxy.go Add canonical import comment 2018-02-05 16:51:57 -05:00
ring.go Merge pull request #42291 from angelcar/awslogs-dont-log-messge-discarded-errors 2021-05-27 19:33:44 -07:00
ring_test.go daemon/logger: fix empty-lines (revive) 2022-09-30 23:59:31 +02:00