From 43408bb5faae9d0458a3f0a9f97741ce3222eb97 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sun, 1 Jun 2025 14:12:33 +0700 Subject: all: use separate logs for worker and main program The worker use log with date and time, while the main program is not. --- brokenlinks_worker.go | 10 +++++++--- cmd/jarink/main.go | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/brokenlinks_worker.go b/brokenlinks_worker.go index 03359b7..a196d2f 100644 --- a/brokenlinks_worker.go +++ b/brokenlinks_worker.go @@ -8,6 +8,7 @@ import ( "log" "net/http" "net/url" + "os" "strings" "sync" "time" @@ -35,6 +36,8 @@ type brokenlinksWorker struct { // The URL to scan. scanUrl *url.URL + log *log.Logger + opts BrokenlinksOptions // wg sync the goroutine scanner. @@ -47,6 +50,7 @@ func newWorker(opts BrokenlinksOptions) (wrk *brokenlinksWorker, err error) { seenLink: map[string]int{}, resultq: make(chan map[string]linkQueue, 100), result: newBrokenlinksResult(), + log: log.New(os.Stderr, ``, log.LstdFlags), } wrk.scanUrl, err = url.Parse(opts.Url) @@ -209,7 +213,7 @@ func (wrk *brokenlinksWorker) markBroken(linkq linkQueue) { func (wrk *brokenlinksWorker) scan(linkq linkQueue) { defer func() { if wrk.opts.IsVerbose && linkq.errScan != nil { - fmt.Printf("error: %d %s error=%v\n", linkq.status, + wrk.log.Printf("error: %d %s error=%v\n", linkq.status, linkq.url, linkq.errScan) } wrk.wg.Done() @@ -222,12 +226,12 @@ func (wrk *brokenlinksWorker) scan(linkq linkQueue) { ) if linkq.kind == atom.Img || linkq.isExternal { if wrk.opts.IsVerbose { - fmt.Printf("scan: HEAD %s\n", linkq.url) + wrk.log.Printf("scan: HEAD %s\n", linkq.url) } httpResp, err = http.Head(linkq.url) } else { if wrk.opts.IsVerbose { - fmt.Printf("scan: GET %s\n", linkq.url) + wrk.log.Printf("scan: GET %s\n", linkq.url) } httpResp, err = http.Get(linkq.url) } diff --git a/cmd/jarink/main.go b/cmd/jarink/main.go index c029b8a..d73cd1a 100644 --- a/cmd/jarink/main.go +++ b/cmd/jarink/main.go @@ -15,6 +15,8 @@ import ( ) func main() { + log.SetFlags(0) + var optVerbose bool flag.BoolVar(&optVerbose, `verbose`, false, -- cgit v1.3