From 8945cb1b908cc1fd1e7172a2f67617538388d581 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Mon, 8 Jun 2020 22:31:03 +0200 Subject: [PATCH] Add log_file_latest --- ChangeLog | 2 ++ dnscrypt-proxy/config.go | 3 +++ dnscrypt-proxy/example-dnscrypt-proxy.toml | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 8a23dccd..a6f16011 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,6 +24,8 @@ forced to use TCP. - The `ct` parameter has been removed from DoH queries, as Google doesn't require it any more. - Service installation is now supported on FreeBSD. + - When stored into a file, service logs now only contain data from the most +recent launch. This can be changed with the new `log_file_latest` option. * Version 2.0.42 - The current versions of the `dnsdist` load balancer (presumably used diff --git a/dnscrypt-proxy/config.go b/dnscrypt-proxy/config.go index d654a2df..978d3787 100644 --- a/dnscrypt-proxy/config.go +++ b/dnscrypt-proxy/config.go @@ -30,6 +30,7 @@ const ( type Config struct { LogLevel int `toml:"log_level"` LogFile *string `toml:"log_file"` + LogFileLatest bool `toml:"log_file_latest"` UseSyslog bool `toml:"use_syslog"` ServerNames []string `toml:"server_names"` DisabledServerNames []string `toml:"disabled_server_names"` @@ -100,6 +101,7 @@ type Config struct { func newConfig() Config { return Config{ LogLevel: int(dlog.LogLevel()), + LogFileLatest: true, ListenAddresses: []string{"127.0.0.1:53"}, LocalDoH: LocalDoHConfig{Path: "/dns-query"}, Timeout: 5000, @@ -290,6 +292,7 @@ func ConfigLoad(proxy *Proxy, flags *ConfigFlags) error { if dlog.LogLevel() <= dlog.SeverityDebug && os.Getenv("DEBUG") == "" { dlog.SetLogLevel(dlog.SeverityInfo) } + dlog.TruncateLogFile(config.LogFileLatest) if config.UseSyslog { dlog.UseSyslog(true) } else if config.LogFile != nil { diff --git a/dnscrypt-proxy/example-dnscrypt-proxy.toml b/dnscrypt-proxy/example-dnscrypt-proxy.toml index d5691398..7c030450 100644 --- a/dnscrypt-proxy/example-dnscrypt-proxy.toml +++ b/dnscrypt-proxy/example-dnscrypt-proxy.toml @@ -149,6 +149,11 @@ keepalive = 30 # log_file = 'dnscrypt-proxy.log' +## When using a log file, only keep logs from the most recent launch. + +# log_file_latest = true + + ## Use the system logger (syslog on Unix, Event Log on Windows) # use_syslog = true