add logger

This commit is contained in:
Simon Vieille 2025-02-24 15:07:37 +01:00
commit 892cd62f3e
3 changed files with 41 additions and 4 deletions

10
app.go
View file

@ -3,6 +3,7 @@ package main
import (
"github.com/urfave/cli/v2"
"gitnet.fr/deblan/expiration-check/checker"
"gitnet.fr/deblan/expiration-check/logger"
"gitnet.fr/deblan/expiration-check/render"
)
@ -33,6 +34,11 @@ func App() *cli.App {
Value: "table",
Usage: "output format: table, csv, tsv, html, json, markdown",
},
&cli.BoolFlag{
Name: "verbose",
Aliases: []string{"v"},
Required: false,
},
}
return &cli.App{
@ -45,6 +51,8 @@ func App() *cli.App {
Usage: "Checks certificate",
Flags: flags,
Action: func(c *cli.Context) error {
logger.Get().SetVerbose(c.Bool("verbose"))
render.Render(
checker.CheckCertificates(c.StringSlice("domain")),
30, 14,
@ -60,6 +68,8 @@ func App() *cli.App {
Aliases: []string{"d", "domains"},
Flags: flags,
Action: func(c *cli.Context) error {
logger.Get().SetVerbose(c.Bool("verbose"))
render.Render(
checker.CheckDomains(c.StringSlice("domain")),
30, 14,

View file

@ -6,6 +6,8 @@ import (
"math"
"strings"
"time"
"gitnet.fr/deblan/expiration-check/logger"
)
func FormatDomain(domain string) string {
@ -26,13 +28,19 @@ func CheckCertificate(domain string) Domain {
date := conn.ConnectionState().PeerCertificates[0].NotAfter
daysLeft := date.Sub(now).Hours() / 24
return Domain{
d := Domain{
Name: domain,
DaysLeft: math.Floor(daysLeft),
Date: date.Format(time.DateTime),
}
logger.Get().Logf(`CheckCertificate: domain="%s" value="%+v"`, domain, d)
return d
}
logger.Get().Logf("CheckCertificate: domain=%s err=%s", domain, err)
return Domain{Name: domain, Failed: true}
}

View file

@ -10,6 +10,7 @@ import (
"time"
"github.com/likexian/whois"
"gitnet.fr/deblan/expiration-check/logger"
)
type RdapResponseData struct {
@ -64,15 +65,23 @@ func RdapCheck(domain, service string) Domain {
date, _ := time.Parse(time.RFC3339, event.EventDate)
daysLeft := date.Sub(now).Hours() / 24
return Domain{
d := Domain{
Name: domain,
DaysLeft: math.Floor(daysLeft),
Date: date.Format(time.DateTime),
}
logger.Get().Logf(`RdapCheck: domain="%s" value="%+v"`, domain, d)
return d
}
}
return Domain{Name: domain, Failed: true}
d := Domain{Name: domain, Failed: true}
logger.Get().Logf(`RdapCheck: domain="%s" value="%+v"`, domain, d)
return d
}
func WhoisCheck(domain string) Domain {
@ -108,16 +117,22 @@ func WhoisCheck(domain string) Domain {
if err == nil {
daysLeft := date.Sub(now).Hours() / 24
return Domain{
d := Domain{
Name: domain,
DaysLeft: math.Floor(daysLeft),
Date: date.Format(time.DateTime),
}
logger.Get().Logf(`WhoisCheck: domain="%s" value="%+v"`, domain, d)
return d
}
}
}
}
logger.Get().Logf(`WhoisCheck: domain="%s" value="%+v"`, domain, domainFailed)
return domainFailed
}
@ -130,8 +145,12 @@ func CheckDomains(domains []string) []Domain {
service := services[tld]
if service != "" {
logger.Get().Logf(`CheckDomains: domain="%s" rdap=true whois=false`, domain)
values = append(values, RdapCheck(domain, service))
} else {
logger.Get().Logf(`CheckDomains: domain="%s" rdap=false whois=true`, domain)
values = append(values, WhoisCheck(domain))
}
}