Use go-logr

This commit is contained in:
2022-06-17 18:23:06 -04:00
parent 7e92a042ff
commit 962c533fff
5 changed files with 32 additions and 52 deletions

View File

@ -63,20 +63,21 @@ func Run(configPath string) error {
}
func ProcessFeed(feed *FeedCfg, scheduler schedule.Scheduler, dbDir string, tgram telegram.TelegramSender) {
log := log.WithValues("feed", feed.Name)
sd, err := scheduler.ShouldDownload(feed.Name, feed.Cron)
if err != nil {
log.Error(err, "shouldDownload failed", "feed", feed.Name)
log.Error(err, "shouldDownload failed")
return
}
if !sd {
log.Info("skipping feed due to schedule", "feed", feed.Name)
log.Info("skipping feed due to schedule")
return
}
fdb, err := db.NewDB(dbDir, feed.Name)
if err != nil {
log.Error(err, "failed to get db", "feed", feed.Name, "db_dir", dbDir)
log.Error(err, "failed to get db", "db_dir", dbDir)
return
}
@ -84,13 +85,13 @@ func ProcessFeed(feed *FeedCfg, scheduler schedule.Scheduler, dbDir string, tgra
for _, url := range feed.Url {
data, err := Download(url, feed.Proxy)
if err != nil {
log.Error(err, "download failed", "feed", feed.Name, "url", url, "proxy", feed.Proxy)
log.Error(err, "download failed", "url", url, "proxy", feed.Proxy)
return
}
currentEntries, err := parser.ParseFeed(feed.Type, data)
if err != nil {
log.Error(err, "feed parsing failed", "feed", feed.Name, "url", url, "data", data)
log.Error(err, "feed parsing failed", "url", url, "data", data)
return
}
entries = append(entries, currentEntries...)
@ -106,7 +107,7 @@ func ProcessFeed(feed *FeedCfg, scheduler schedule.Scheduler, dbDir string, tgra
}{}
defer func() {
log.Info("done processing feed", "feed", feed.Name, "total", stat.Total, "new", stat.New, "filtered", stat.Filtered, "error", stat.Error)
log.Info("done processing feed", "total", stat.Total, "new", stat.New, "filtered", stat.Filtered, "error", stat.Error)
}()
stat.Total = len(entries)
@ -134,7 +135,7 @@ func ProcessFeed(feed *FeedCfg, scheduler schedule.Scheduler, dbDir string, tgra
} else {
newEntries, err = fdb.Filter(entries)
if err != nil {
log.Error(err, "failed to filter entries", "feed", feed.Name)
log.Error(err, "failed to filter entries")
return
}
stat.New = len(newEntries)
@ -147,7 +148,7 @@ func ProcessFeed(feed *FeedCfg, scheduler schedule.Scheduler, dbDir string, tgra
}
err := tgram.SendLink(entry.Link, feed.Channel, feed.Rhash, feed.Title)
if err != nil {
log.Error(err, "failed to send to telegram", "feed", feed.Name, "link", entry.Link, "channel", feed.Channel, "rhash", feed.Rhash)
log.Error(err, "failed to send to telegram", "link", entry.Link, "channel", feed.Channel, "rhash", feed.Rhash)
r.Status = db.Error
stat.Error++
} else {
@ -157,7 +158,7 @@ func ProcessFeed(feed *FeedCfg, scheduler schedule.Scheduler, dbDir string, tgra
}
err = fdb.Save(records)
if err != nil {
log.Error(err, "failed to save sent records", "feed", feed.Name, "num_records", len(records))
log.Error(err, "failed to save sent records", "num_records", len(records))
}
}