@@ -18,7 +18,6 @@ package cmd
1818import (
1919 "context"
2020 "encoding/json"
21- goflag "flag"
2221 "fmt"
2322 "log"
2423 "net/http"
@@ -28,7 +27,6 @@ import (
2827 "time"
2928
3029 "github.com/spf13/cobra"
31- "go.uber.org/zap"
3230
3331 "github.com/ossf/scorecard/v4/checker"
3432 "github.com/ossf/scorecard/v4/checks"
@@ -37,6 +35,7 @@ import (
3735 "github.com/ossf/scorecard/v4/clients/localdir"
3836 docs "github.com/ossf/scorecard/v4/docs/checks"
3937 sce "github.com/ossf/scorecard/v4/errors"
38+ sclog "github.com/ossf/scorecard/v4/log"
4039 "github.com/ossf/scorecard/v4/pkg"
4140 spol "github.com/ossf/scorecard/v4/policy"
4241)
4746 local string
4847 checksToRun []string
4948 metaData []string
50- // This one has to use goflag instead of pflag because it's defined by zap.
51- logLevel = zap .LevelFlag ("verbosity" , zap .InfoLevel , "override the default log level" )
49+ logLevel string
5250 format string
5351 npm string
5452 pypi string
@@ -84,10 +82,14 @@ const cliEnableSarif = "ENABLE_SARIF"
8482
8583//nolint:gochecknoinits
8684func init () {
87- // Add the zap flag manually
88- rootCmd .PersistentFlags ().AddGoFlagSet (goflag .CommandLine )
8985 rootCmd .Flags ().StringVar (& repo , "repo" , "" , "repository to check" )
9086 rootCmd .Flags ().StringVar (& local , "local" , "" , "local folder to check" )
87+ rootCmd .Flags ().StringVar (
88+ & logLevel ,
89+ "verbosity" ,
90+ sclog .DefaultLevel .String (),
91+ "set the log level" ,
92+ )
9193 rootCmd .Flags ().StringVar (
9294 & npm , "npm" , "" ,
9395 "npm package to check, given that the npm package has a GitHub repository" )
@@ -186,12 +188,12 @@ func scorecardCmd(cmd *cobra.Command, args []string) {
186188 }
187189
188190 ctx := context .Background ()
189- logger , err := githubrepo .NewLogger (* logLevel )
191+ logger , err := githubrepo .NewLogger (sclog . Level ( logLevel ) )
190192 if err != nil {
191193 log .Panic (err )
192194 }
193195 // nolint: errcheck
194- defer logger .Sync () // Flushes buffer, if any.
196+ defer logger .Zap . Sync () // Flushes buffer, if any.
195197
196198 repoURI , repoClient , ossFuzzRepoClient , ciiClient , vulnsClient , repoType , err := getRepoAccessors (ctx , uri , logger )
197199 if err != nil {
@@ -249,15 +251,15 @@ func scorecardCmd(cmd *cobra.Command, args []string) {
249251
250252 switch format {
251253 case formatDefault :
252- err = repoResult .AsString (showDetails , * logLevel , checkDocs , os .Stdout )
254+ err = repoResult .AsString (showDetails , sclog . Level ( logLevel ) , checkDocs , os .Stdout )
253255 case formatSarif :
254256 // TODO: support config files and update checker.MaxResultScore.
255- err = repoResult .AsSARIF (showDetails , * logLevel , os .Stdout , checkDocs , policy )
257+ err = repoResult .AsSARIF (showDetails , sclog . Level ( logLevel ) , os .Stdout , checkDocs , policy )
256258 case formatJSON :
257259 if raw {
258260 err = repoResult .AsRawJSON (os .Stdout )
259261 } else {
260- err = repoResult .AsJSON2 (showDetails , * logLevel , checkDocs , os .Stdout )
262+ err = repoResult .AsJSON2 (showDetails , sclog . Level ( logLevel ) , checkDocs , os .Stdout )
261263 }
262264
263265 default :
@@ -413,7 +415,7 @@ func validateFormat(format string) bool {
413415 }
414416}
415417
416- func getRepoAccessors (ctx context.Context , uri string , logger * zap .Logger ) (
418+ func getRepoAccessors (ctx context.Context , uri string , logger * sclog .Logger ) (
417419 repo clients.Repo ,
418420 repoClient clients.RepoClient ,
419421 ossFuzzRepoClient clients.RepoClient ,
0 commit comments