cmd/cli: add internal logging

So in case of no logging enabled, useful data could be sent to ControlD
server for further troubleshooting.
This commit is contained in:
Cuong Manh Le
2024-12-09 23:17:00 +07:00
committed by Cuong Manh Le
parent a63a30c76b
commit cd5619a05b
6 changed files with 326 additions and 14 deletions
+18 -14
View File
@@ -85,20 +85,23 @@ type prog struct {
dnsWatcherClosedOnce sync.Once
dnsWatcherStopCh chan struct{}
cfg *ctrld.Config
localUpstreams []string
ptrNameservers []string
appCallback *AppCallback
cache dnscache.Cacher
cacheFlushDomainsMap map[string]struct{}
sema semaphore
ciTable *clientinfo.Table
um *upstreamMonitor
router router.Router
ptrLoopGuard *loopGuard
lanLoopGuard *loopGuard
metricsQueryStats atomic.Bool
queryFromSelfMap sync.Map
cfg *ctrld.Config
localUpstreams []string
ptrNameservers []string
appCallback *AppCallback
cache dnscache.Cacher
cacheFlushDomainsMap map[string]struct{}
sema semaphore
ciTable *clientinfo.Table
um *upstreamMonitor
router router.Router
ptrLoopGuard *loopGuard
lanLoopGuard *loopGuard
metricsQueryStats atomic.Bool
queryFromSelfMap sync.Map
initInternalLogWriterOnce sync.Once
internalLogWriter *logWriter
internalLogSent time.Time
selfUninstallMu sync.Mutex
refusedQueryCount int
@@ -517,6 +520,7 @@ func (p *prog) run(reload bool, reloadCh chan struct{}) {
}
go p.apiConfigReload()
p.postRun()
p.initInternalLogging()
}
wg.Wait()
}