feat(cli): keep a log journal on disk with file headers and an upload limit

ctrld keeps a second log file, ctrld-journal.log, next to ctrld.log. The
journal holds all warnings and errors and each event with the field
journal=true. It stays on disk after a start of the service and after a
self-upgrade. Each log file starts with a Log header line. Each log send
upload starts with the same line, made at send time, and has a limit of
about 16 MB.
This commit is contained in:
Anthony Wong authored and Cuong Manh Le committed 2026-09-28 16:47:40 +07:00
1 parent d1690545f9
commit 8934e09428
41 files changed
+5661 -495

No files matched your search

+2 -1
View File
@@ -49,7 +49,6 @@ const selfCheckInternalTestDomain = "ctrld" + loopTestDomain
const (
windowsForwardersFilename = ".forwarders.txt"
oldBinSuffix = "_previous"
oldLogSuffix = ".1"
msgExit = "$$EXIT$$"
)
@@ -1497,6 +1496,8 @@ func fieldErrorMsg(fe validator.FieldError) string {
return fmt.Sprintf("minimum len: %q", fe.Param())
case "gte":
return fmt.Sprintf("must be greater than or equal to: %s", fe.Param())
case "lte":
return fmt.Sprintf("must be less than or equal to: %s", fe.Param())
case "cidr":
return fmt.Sprintf("invalid value: %s", fe.Value())
case "required_unless", "required":