From dee4b7ee3aa5253ce4879beea5d0e396a6050f0a Mon Sep 17 00:00:00 2001 From: MrMelon54 Date: Mon, 13 May 2024 19:04:43 +0100 Subject: [PATCH] Transition to new logger --- cmd/orchid/serve.go | 13 +++++++------ go.mod | 10 ++++++++++ go.sum | 23 +++++++++++++++++++++++ http-acme/http-acme-provider.go | 6 +++--- logger/logger.go | 12 ++++++++++++ renewal/logger.go | 5 +++++ renewal/service.go | 21 ++++++++++----------- renewal/service_test.go | 7 +++---- servers/api.go | 6 +++--- servers/auth.go | 4 ++-- 10 files changed, 78 insertions(+), 29 deletions(-) create mode 100644 logger/logger.go create mode 100644 renewal/logger.go diff --git a/cmd/orchid/serve.go b/cmd/orchid/serve.go index c6001a5..e5198b6 100644 --- a/cmd/orchid/serve.go +++ b/cmd/orchid/serve.go @@ -6,6 +6,7 @@ import ( "github.com/1f349/mjwt" "github.com/1f349/orchid" httpAcme "github.com/1f349/orchid/http-acme" + "github.com/1f349/orchid/logger" "github.com/1f349/orchid/renewal" "github.com/1f349/orchid/servers" "github.com/1f349/violet/utils" @@ -33,19 +34,19 @@ func (s *serveCmd) Usage() string { } func (s *serveCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interface{}) subcommands.ExitStatus { - log.Println("[Orchid] Starting...") + logger.Logger.Info("[Orchid] Starting...") if s.configPath == "" { - log.Println("[Orchid] Error: config flag is missing") + logger.Logger.Info("[Orchid] Error: config flag is missing") return subcommands.ExitUsageError } openConf, err := os.Open(s.configPath) if err != nil { if os.IsNotExist(err) { - log.Println("[Orchid] Error: missing config file") + logger.Logger.Info("[Orchid] Error: missing config file") } else { - log.Println("[Orchid] Error: open config file: ", err) + logger.Logger.Info("[Orchid] Error: open config file: ", err) } return subcommands.ExitFailure } @@ -53,7 +54,7 @@ func (s *serveCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interfa var conf startUpConfig err = yaml.NewDecoder(openConf).Decode(&conf) if err != nil { - log.Println("[Orchid] Error: invalid config file: ", err) + logger.Logger.Info("[Orchid] Error: invalid config file: ", err) return subcommands.ExitFailure } @@ -88,7 +89,7 @@ func normalLoad(conf startUpConfig, wd string) { log.Fatal("[Orchid] Service Error:", err) } srv := servers.NewApiServer(conf.Listen, db, mJwtVerify, conf.Domains) - log.Printf("[API] Starting API server on: '%s'\n", srv.Addr) + logger.Logger.Info("Starting API server", "listen", srv.Addr) go utils.RunBackgroundHttp("API", srv) exit_reload.ExitReload("Violet", func() {}, func() { diff --git a/go.mod b/go.mod index 2ec23e0..ae26772 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/1f349/mjwt v0.2.5 github.com/1f349/violet v0.0.13 github.com/AlecAivazis/survey/v2 v2.3.7 + github.com/charmbracelet/log v0.4.0 github.com/go-acme/lego/v4 v4.16.1 github.com/golang-migrate/migrate/v4 v4.17.1 github.com/google/subcommands v1.2.0 @@ -20,24 +21,33 @@ require ( ) require ( + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/becheran/wildmatch-go v1.0.0 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect + github.com/charmbracelet/lipgloss v0.10.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-jose/go-jose/v4 v4.0.1 // indirect + github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kr/text v0.2.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.2 // indirect github.com/nrdcg/namesilo v0.2.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/rivo/uniseg v0.4.7 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/crypto v0.23.0 // indirect + golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect diff --git a/go.sum b/go.sum index b7918fb..a02347b 100644 --- a/go.sum +++ b/go.sum @@ -6,10 +6,16 @@ github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkk github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/becheran/wildmatch-go v1.0.0 h1:mE3dGGkTmpKtT4Z+88t8RStG40yN9T+kFEGj2PZFSzA= github.com/becheran/wildmatch-go v1.0.0/go.mod h1:gbMvj0NtVdJ15Mg/mH9uxk2R1QCistMyU7d9KFzroX4= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/charmbracelet/lipgloss v0.10.0 h1:KWeXFSexGcfahHX+54URiZGkBFazf70JNMtwg/AFW3s= +github.com/charmbracelet/lipgloss v0.10.0/go.mod h1:Wig9DSfvANsxqkRsqj6x87irdy123SR4dOXlKa91ciE= +github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM= +github.com/charmbracelet/log v0.4.0/go.mod h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= @@ -20,6 +26,8 @@ github.com/go-acme/lego/v4 v4.16.1 h1:JxZ93s4KG0jL27rZ30UsIgxap6VGzKuREsSkkyzeoC github.com/go-acme/lego/v4 v4.16.1/go.mod h1:AVvwdPned/IWpD/ihHhMsKnveF7HHYAz/CmtXi7OZoE= github.com/go-jose/go-jose/v4 v4.0.1 h1:QVEPDE3OluqXBQZDcnNvQrInro2h0e4eqNbnZSWqS6U= github.com/go-jose/go-jose/v4 v4.0.1/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY= +github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= +github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-migrate/migrate/v4 v4.17.1 h1:4zQ6iqL6t6AiItphxJctQb3cFqWiSpMnX7wLTPnnYO4= @@ -51,6 +59,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= @@ -58,6 +68,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= @@ -69,12 +82,20 @@ github.com/mrmelon54/certgen v0.0.2 h1:4CMDkA/gGZu+E4iikU+5qdOWK7qOQrk58KtUfnmyY github.com/mrmelon54/certgen v0.0.2/go.mod h1:vwrWSXQmxZYqEyh+cf05IvDIFV2aYuxL4+O6ABIlN8M= github.com/mrmelon54/exit-reload v0.0.2 h1:vqgfrMD/bF21HkDsWgg5+NLjFDrD3KGVEN/iTrMn9Ms= github.com/mrmelon54/exit-reload v0.0.2/go.mod h1:aE3NhsqGMLUqmv6cJZRouC/8gXkZTvVSabRGOpI+Vjc= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= +github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= github.com/nrdcg/namesilo v0.2.1 h1:kLjCjsufdW/IlC+iSfAqj0iQGgKjlbUUeDJio5Y6eMg= github.com/nrdcg/namesilo v0.2.1/go.mod h1:lwMvfQTyYq+BbjJd30ylEG4GPSS6PII0Tia4rRpRiyw= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -89,6 +110,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= +golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= diff --git a/http-acme/http-acme-provider.go b/http-acme/http-acme-provider.go index 7969560..da0c611 100644 --- a/http-acme/http-acme-provider.go +++ b/http-acme/http-acme-provider.go @@ -3,9 +3,9 @@ package http_acme import ( "encoding/json" "fmt" + "github.com/1f349/orchid/logger" "github.com/go-acme/lego/v4/challenge" "gopkg.in/yaml.v3" - "log" "net/http" "os" "strings" @@ -146,12 +146,12 @@ func (h *HttpAcmeProvider) saveLoginTokens() { // acme login token openTokens, err := os.Create(h.tokenFile) if err != nil { - log.Println("[Orchid] Failed to open token file:", err) + logger.Logger.Info("[Orchid] Failed to open token file:", err) } defer openTokens.Close() err = yaml.NewEncoder(openTokens).Encode(AcmeLogin{Access: h.accessToken, Refresh: h.refreshToken}) if err != nil { - log.Println("[Orchid] Failed to write tokens file:", err) + logger.Logger.Info("[Orchid] Failed to write tokens file:", err) } } diff --git a/logger/logger.go b/logger/logger.go new file mode 100644 index 0000000..e00b2c4 --- /dev/null +++ b/logger/logger.go @@ -0,0 +1,12 @@ +package logger + +import ( + "github.com/charmbracelet/log" + "os" +) + +var Logger = log.NewWithOptions(os.Stderr, log.Options{ + ReportCaller: true, + ReportTimestamp: true, + Prefix: "Orchid", +}) diff --git a/renewal/logger.go b/renewal/logger.go new file mode 100644 index 0000000..bf8139b --- /dev/null +++ b/renewal/logger.go @@ -0,0 +1,5 @@ +package renewal + +import "github.com/1f349/orchid/logger" + +var Logger = logger.Logger.WithPrefix("Orchid Renewal") diff --git a/renewal/service.go b/renewal/service.go index 2ff2d96..64fecfa 100644 --- a/renewal/service.go +++ b/renewal/service.go @@ -20,7 +20,6 @@ import ( "github.com/go-acme/lego/v4/providers/dns/duckdns" "github.com/go-acme/lego/v4/providers/dns/namesilo" "github.com/go-acme/lego/v4/registration" - "log" "math/rand" "net/http" "os" @@ -121,7 +120,7 @@ func NewService(wg *sync.WaitGroup, db *database.Queries, httpAcme challenge.Pro // Shutdown the renewal service. func (s *Service) Shutdown() { - log.Println("[Renewal] Shutting down certificate renewal service") + Logger.Info("Shutting down certificate renewal service") close(s.certDone) } @@ -205,20 +204,20 @@ func (s *Service) renewalRoutine(wg *sync.WaitGroup) { // Upon leaving the function stop the ticker and clear the WaitGroup. defer func() { s.certTicker.Stop() - log.Println("[Renewal] Stopped certificate renewal service") + Logger.Info("Stopped certificate renewal service") wg.Done() }() // Do an initial check and refuse to start if any errors occur. - log.Println("[Renewal] Doing quick certificate check before starting...") + Logger.Info("Doing quick certificate check before starting...") err := s.renewalCheck() if err != nil { - log.Println("[Renewal] Certificate check, should not error first try: ", err) + Logger.Info("Certificate check, should not error first try: ", err) return } // Logging or something - log.Println("[Renewal] Initial check complete, continually checking every 10 minutes...") + Logger.Info("Initial check complete, continually checking every 10 minutes...") // Main loop for { @@ -232,7 +231,7 @@ func (s *Service) renewalRoutine(wg *sync.WaitGroup) { // run a renewal check and log errors, but ignore ErrAlreadyRenewing err := s.renewalCheck() if err != nil && !errors.Is(err, ErrAlreadyRenewing) { - log.Println("[Renewal] Certificate check, an error occurred: ", err) + Logger.Info("Certificate check, an error occurred: ", err) } }() } @@ -265,7 +264,7 @@ func (s *Service) renewalCheck() error { } // renew succeeded - log.Printf("[Renewal] Updated certificate %d successfully\n", localData.id) + Logger.Info("Updated certificate successfully", "id", localData.id) return nil } @@ -338,7 +337,7 @@ func (s *Service) setupLegoClient() (*lego.Client, error) { // getDnsProvider loads a DNS challenge provider using the provided name and // token func (s *Service) getDnsProvider(name, token string) (challenge.Provider, error) { - log.Printf("[Renewal] Loading dns provider: %s with token %s*****\n", name, token[:3]) + Logger.Info("Loading dns provider: %s with token %s*****\n", name, token[:3]) switch name { case "duckdns": return duckdns.NewDNSProviderConfig(&duckdns.Config{ @@ -453,7 +452,7 @@ func (s *Service) renewCertInternal(localData *localCertData) (*x509.Certificate // set up the dns provider used during tests and disable propagation as no dns // will validate these tests dnsAddr := testDnsOptions.GetDnsAddrs() - log.Printf("Using testDnsOptions with DNS server: %v\n", dnsAddr) + Logger.Info("Using testDnsOptions with DNS server", "addr", dnsAddr) _ = s.client.Challenge.SetDNS01Provider(testDnsOptions, dns01.AddRecursiveNameservers(dnsAddr), dns01.DisableCompletePropagationRequirement()) } else if localData.dns.name.Valid && localData.dns.token.Valid { // if the dns name and token are "valid" meaning non-null in this case @@ -500,7 +499,7 @@ func (s *Service) setRenewing(id int64, renewing, failed bool) { ID: id, }) if err != nil { - log.Printf("[Renewal] Failed to set renewing/failed mode in database %d: %s\n", id, err) + Logger.Warn("Failed to set renewing/failed mode in database", "id", id, "err", err) } } diff --git a/renewal/service_test.go b/renewal/service_test.go index dcd14c7..00f6f3c 100644 --- a/renewal/service_test.go +++ b/renewal/service_test.go @@ -18,7 +18,6 @@ import ( "github.com/mrmelon54/certgen" "github.com/stretchr/testify/assert" "go/build" - "log" "math/big" "net" "os" @@ -53,7 +52,7 @@ func TestService_resolveCACertificate(t *testing.T) { } func setupPebbleSuite(tb testing.TB) (*certgen.CertGen, func()) { - log.Println("Running pebble") + Logger.Info("Running pebble") pebbleTmp, err := os.MkdirTemp("", "pebble") assert.NoError(tb, err) assert.NoError(tb, os.WriteFile(filepath.Join(pebbleTmp, "pebble-config.json"), pebble.RawConfig, os.ModePerm)) @@ -83,7 +82,7 @@ func setupPebbleSuite(tb testing.TB) (*certgen.CertGen, func()) { command.Dir = pebbleTmp if command.Start() != nil { - log.Println("Installing pebble") + Logger.Info("Installing pebble") instCmd := exec.Command("go", "install", "github.com/letsencrypt/pebble/cmd/pebble@latest") assert.NoError(tb, instCmd.Run(), "Failed to start pebble make sure it is installed... go install github.com/letsencrypt/pebble/cmd/pebble@latest") assert.NoError(tb, command.Start(), "failed to start pebble again") @@ -107,7 +106,7 @@ func setupPebbleTest(t *testing.T, serverTls *certgen.CertGen) (*Service, *sql.D db2, err := sql.Open("sqlite3", dbFile) assert.NoError(t, err) - log.Println("DB File:", dbFile) + Logger.Info("DB File:", dbFile) certDir, err := os.MkdirTemp("", "orchid-certs") keyDir, err := os.MkdirTemp("", "orchid-keys") diff --git a/servers/api.go b/servers/api.go index 05131d2..41e856a 100644 --- a/servers/api.go +++ b/servers/api.go @@ -9,10 +9,10 @@ import ( "github.com/1f349/mjwt" "github.com/1f349/mjwt/claims" "github.com/1f349/orchid/database" + "github.com/1f349/orchid/logger" oUtils "github.com/1f349/orchid/utils" vUtils "github.com/1f349/violet/utils" "github.com/julienschmidt/httprouter" - "log" "net/http" "strconv" "time" @@ -56,7 +56,7 @@ func NewApiServer(listen string, db *database.Queries, signer mjwt.Verifier, dom // query database rows, err := db.FindOwnedCerts(context.Background()) if err != nil { - log.Println("Failed after reading certificates from database: ", err) + logger.Logger.Info("Failed after reading certificates from database: ", err) http.Error(rw, "Database Error", http.StatusInternalServerError) return } @@ -86,7 +86,7 @@ func NewApiServer(listen string, db *database.Queries, signer mjwt.Verifier, dom // get etld+1 topFqdn, found := vUtils.GetTopFqdn(d) if !found { - log.Println("Invalid domain found: ", d) + logger.Logger.Info("Invalid domain found: ", d) http.Error(rw, "Database Error", http.StatusInternalServerError) return } diff --git a/servers/auth.go b/servers/auth.go index ece2eae..dc73303 100644 --- a/servers/auth.go +++ b/servers/auth.go @@ -4,9 +4,9 @@ import ( "github.com/1f349/mjwt" "github.com/1f349/mjwt/auth" "github.com/1f349/orchid/database" + "github.com/1f349/orchid/logger" vUtils "github.com/1f349/violet/utils" "github.com/julienschmidt/httprouter" - "log" "net/http" ) @@ -63,7 +63,7 @@ func checkAuthForCertificate(verify mjwt.Verifier, perm string, db *database.Que return } apiError(rw, http.StatusInsufficientStorage, "Database error") - log.Println("[API] Failed to find certificate owner: ", err) + logger.Logger.Info("[API] Failed to find certificate owner: ", err) return }