8000 refactor: central logger (#1692) · gitleaks/gitleaks@ab38a46 · GitHub
[go: up one dir, main page]

Skip to content

Commit ab38a46

Browse files
authored
refactor: central logger (#1692)
1 parent b022d1c commit ab38a46

File tree

18 files changed

+191
-138
lines changed

18 files changed

+191
-138
lines changed

cmd/detect.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ import (
2222
"os"
2323
"time"
2424

25-
"github.com/rs/zerolog/log"
2625
"github.com/spf13/cobra"
2726

27+
"github.com/zricethezav/gitleaks/v8/logging"
2828
"github.com/zricethezav/gitleaks/v8/report"
2929
"github.com/zricethezav/gitleaks/v8/sources"
3030
)
@@ -48,7 +48,7 @@ var detectCmd = &cobra.Command{
4848
func runDetect(cmd *cobra.Command, args []string) {
4949
source, err := cmd.Flags().GetString("source")
5050
if err != nil {
51-
log.Fatal().Err(err).Msg("could not get source")
51+
logging.Fatal().Err(err).Msg("could not get source")
5252
}
5353
initConfig(source)
5454

@@ -64,24 +64,24 @@ func runDetect(cmd *cobra.Command, args []string) {
6464

6565
// set follow symlinks flag
6666
if detector.FollowSymlinks, err = cmd.Flags().GetBool("follow-symlinks"); err != nil {
67-
log.Fatal().Err(err).Msg("")
67+
logging.Fatal().Err(err).Msg("")
6868
}
6969
// set exit code
7070
exitCode, err := cmd.Flags().GetInt("exit-code")
7171
if err != nil {
72-
log.Fatal().Err(err).Msg("could not get exit code")
72+
logging.Fatal().Err(err).Msg("could not get exit code")
7373
}
7474

7575
// determine what type of scan:
7676
// - git: scan the history of the repo
7777
// - no-git: scan files by treating the repo as a plain directory
7878
noGit, err := cmd.Flags().GetBool("no-git")
7979
if err != nil {
80-
log.Fatal().Err(err).Msg("could not call GetBool() for no-git")
80+
logging.Fatal().Err(err).Msg("could not call GetBool() for no-git")
8181
}
8282
fromPipe, err := cmd.Flags().GetBool("pipe")
8383
if err != nil {
84-
log.Fatal().Err(err).Msg("could not call GetBool() for pipe")
84+
logging.Fatal().Err(err).Msg("could not call GetBool() for pipe")
8585
}
8686

8787
// start the detector scan
@@ -94,20 +94,20 @@ func runDetect(cmd *cobra.Command, args []string) {
9494
detector.Config.Allowlist.PathAllowed,
9595
)
9696
if err != nil {
97-
log.Fatal().Err(err)
97+
logging.Fatal().Err(err)
9898
}
9999

100100
findings, err = detector.DetectFiles(paths)
101101
if err != nil {
102102
// don't exit on error, just log it
103-
log.Error().Err(err).Msg("failed scan directory")
103+
logging.Error().Err(err).Msg("failed scan directory")
104104
}
105105
} else if fromPipe {
106106
findings, err = detector.DetectReader(os.Stdin, 10)
107107
if err != nil {
108108
// log fatal to exit, no need to continue since a report
109109
// will not be generated when scanning from a pipe...for now
110-
log.Fatal().Err(err).Msg("failed scan input from stdin")
110+
logging.Fatal().Err(err).Msg("failed scan input from stdin")
111111
}
112112
} else {
113113
var (
@@ -116,16 +116,16 @@ func runDetect(cmd *cobra.Command, args []string) {
116116
)
117117
logOpts, err = cmd.Flags().GetString("log-opts")
118118
if err != nil {
119-
log.Fatal().Err(err).Msg("could not call GetString() for log-opts")
119+
logging.Fatal().Err(err).Msg("could not call GetString() for log-opts")
120120
}
121121
gitCmd, err = sources.NewGitLogCmd(source, logOpts)
122122
if err != nil {
123-
log.Fatal().Err(err).Msg("could not create Git cmd")
123+
logging.Fatal().Err(err).Msg("could not create Git cmd")
124124
}
125125
findings, err = detector.DetectGit(gitCmd)
126126
if err != nil {
127127
// don't exit on error, just log it
128-
log.Error().Err(err).Msg("failed to scan Git repository")
128+
logging.Error().Err(err).Msg("failed to scan Git repository")
129129
}
130130
}
131131

cmd/directory.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package cmd
33
import (
44
"time"
55

6-
"github.com/rs/zerolog/log"
76
"github.com/spf13/cobra"
87

8+
"github.com/zricethezav/gitleaks/v8/logging"
99
"github.com/zricethezav/gitleaks/v8/report"
1010
"github.com/zricethezav/gitleaks/v8/sources"
1111
)
@@ -47,12 +47,12 @@ func runDirectory(cmd *cobra.Command, args []string) {
4747

4848
// set follow symlinks flag
4949
if detector.FollowSymlinks, err = cmd.Flags().GetBool("follow-symlinks"); err != nil {
50-
log.Fatal().Err(err).Msg("")
50+
logging.Fatal().Err(err).Msg("")
5151
}
5252
// set exit code
5353
exitCode, err := cmd.Flags().GetInt("exit-code")
5454
if err != nil {
55-
log.Fatal().Err(err).Msg("could not get exit code")
55+
logging.Fatal().Err(err).Msg("could not get exit code")
5656
}
5757

5858
var paths <-chan sources.ScanTarget
@@ -63,13 +63,13 @@ func runDirectory(cmd *cobra.Command, args []string) {
6363
detector.Config.Allowlist.PathAllowed,
6464
)
6565
if err != nil {
66-
log.Fatal().Err(err)
66+
logging.Fatal().Err(err)
6767
}
6868

6969
findings, err = detector.DetectFiles(paths)
7070
if err != nil {
7171
// don't exit on error, just log it
72-
log.Error().Err(err).Msg("failed scan directory")
72+
logging.Error().Err(err).Msg("failed scan directory")
7373
}
7474

7575
findingSummaryAndExit(detector, findings, exitCode, start, err)

cmd/generate/config/main.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ import (
44
"os"
55
"text/template"
66

7-
"github.com/rs/zerolog/log"
8-
97
"github.com/zricethezav/gitleaks/v8/cmd/generate/config/base"
108
"github.com/zricethezav/gitleaks/v8/cmd/generate/config/rules"
119
"github.com/zricethezav/gitleaks/v8/config"
10+
"github.com/zricethezav/gitleaks/v8/logging"
1211
)
1312

1413
const (
@@ -236,7 +235,7 @@ func main() {
236235
for _, rule := range configRules {
237236
// check if rule is in ruleLookUp
238237
if _, ok := ruleLookUp[rule.RuleID]; ok {
239-
log.Fatal().Msgf("rule id %s is not unique", rule.RuleID)
238+
logging.Fatal().Msgf("rule id %s is not unique", rule.RuleID)
240239
}
241240
// TODO: eventually change all the signatures to get ride of this
242241
// nasty dereferencing.
@@ -245,18 +244,17 @@ func main() {
245244

246245
tmpl, err := template.ParseFiles(templatePath)
247246
if err != nil {
248-
log.Fatal().Err(err).Msg("Failed to parse template")
247+
logging.Fatal().Err(err).Msg("Failed to parse template")
249248
}
250249

251250
f, err := os.Create(gitleaksConfigPath)
252251
if err != nil {
253-
log.Fatal().Err(err).Msg("Failed to create rules.toml")
252+
logging.Fatal().Err(err).Msg("Failed to create rules.toml")
254253
}
255254

256255
cfg := base.CreateGlobalConfig()
257256
cfg.Rules = ruleLookUp
258257
if err = tmpl.Execute(f, cfg); err != nil {
259-
log.Fatal().Err(err).Msg("could not execute template")
258+
logging.Fatal().Err(err).Msg("could not execute template")
260259
}
261-
262260
}

cmd/generate/config/utils/validate.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,18 @@ package utils
77
import (
88
"strings"
99

10-
"github.com/rs/zerolog/log"
11-
1210
"github.com/zricethezav/gitleaks/v8/cmd/generate/config/base"
1311
"github.com/zricethezav/gitleaks/v8/config"
1412
"github.com/zricethezav/gitleaks/v8/detect"
13+
"github.com/zricethezav/gitleaks/v8/logging"
1514
)
1615

1716
func Validate(rule config.Rule, truePositives []string, falsePositives []string) *config.Rule {
1817
r := &rule
1918
d := createSingleRuleDetector(r)
2019
for _, tp := range truePositives {
2120
if len(d.DetectString(tp)) < 1 {
22-
log.Fatal().
21+
logging.Fatal().
2322
Str("rule", r.RuleID).
2423
Str("value", tp).
2524
Str("regex", r.Regex.String()).
@@ -29,7 +28,7 @@ func Validate(rule config.Rule, truePositives []string, falsePositives []string)
2928
for _, fp := range falsePositives {
3029
findings := d.DetectString(fp)
3130
if len(findings) != 0 {
32-
log.Fatal().
31+
logging.Fatal().
3332
Str("rule", r.RuleID).
3433
Str("value", fp).
3534
Str("regex", r.Regex.String()).
@@ -45,7 +44,7 @@ func ValidateWithPaths(rule config.Rule, truePositives map[string]string, falseP
4544
for path, tp := range truePositives {
4645
f := detect.Fragment{Raw: tp, FilePath: path}
4746
if len(d.Detect(f)) != 1 {
48-
log.Fatal().
47+
logging.Fatal().
4948
Str("rule", r.RuleID).
5049
Str("value", tp).
5150
Str("regex", r.Regex.String()).
@@ -56,7 +55,7 @@ func ValidateWithPaths(rule config.Rule, truePositives map[string]string, falseP
5655
for path, fp := range falsePositives {
5756
f := detect.Fragment{Raw: fp, FilePath: path}
5857
if len(d.Detect(f)) != 0 {
59-
log.Fatal().
58+
logging.Fatal().
6059
Str("rule", r.RuleID).
6160
Str("value", fp).
6261
Str("regex", r.Regex.String()).

cmd/git.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package cmd
33
import (
44
"time"
55

6-
"github.com/rs/zerolog/log"
76
"github.com/spf13/cobra"
87

8+
"github.com/zricethezav/gitleaks/v8/logging"
99
"github.com/zricethezav/gitleaks/v8/report"
1010
"github.com/zricethezav/gitleaks/v8/sources"
1111
)
@@ -53,7 +53,7 @@ func runGit(cmd *cobra.Command, args []string) {
5353
// set exit code
5454
exitCode, err := cmd.Flags().GetInt("exit-code")
5555
if err != nil {
56-
log.Fatal().Err(err).Msg("could not get exit code")
56+
logging.Fatal().Err(err).Msg("could not get exit code")
5757
}
5858

5959
var (
@@ -64,33 +64,33 @@ func runGit(cmd *cobra.Command, args []string) {
6464
)
6565
logOpts, err = cmd.Flags().GetString("log-opts")
6666
if err != nil {
67-
log.Fatal().Err(err).Msg("could not call GetString() for log-opts")
67+
logging.Fatal().Err(err).Msg("could not call GetString() for log-opts")
6868
}
6969
staged, err = cmd.Flags().GetBool("staged")
7070
if err != nil {
71-
log.Fatal().Err(err).Msg("could not call GetBool() for staged")
71+
logging.Fatal().Err(err).Msg("could not call GetBool() for staged")
7272
}
7373
preCommit, err = cmd.Flags().GetBool("pre-commit")
7474
if err != nil {
75-
log.Fatal().Err(err).Msg("could not call GetBool() for pre-commit")
75+
logging.Fatal().Err(err).Msg("could not call GetBool() for pre-commit")
7676
}
7777

7878
if preCommit || staged {
7979
gitCmd, err = sources.NewGitDiffCmd(source, staged)
8080
if err != nil {
81-
log.Fatal().Err(err).Msg("could not create Git diff cmd")
81+
logging.Fatal().Err(err).Msg("could not create Git diff cmd")
8282
}
8383
} else {
8484
gitCmd, err = sources.NewGitLogCmd(source, logOpts)
8585
if err != nil {
86-
log.Fatal().Err(err).Msg("could not create Git log cmd")
86+
logging.Fatal().Err(err).Msg("could not create Git log cmd")
8787
}
8888
}
8989

9090
findings, err = detector.DetectGit(gitCmd)
9191
if err != nil {
9292
// don't exit on error, just log it
93-
log.Error().Err(err).Msg("failed to scan Git repository")
93+
logging.Error().Err(err).Msg("failed to scan Git repository")
9494
}
9595

9696
findingSummaryAndExit(detector, findings, exitCode, start, err)

cmd/protect.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package cmd
33
import (
44
"time"
55

6-
"github.com/rs/zerolog/log"
76
"github.com/spf13/cobra"
87

8+
"github.com/zricethezav/gitleaks/v8/logging"
99
"github.com/zricethezav/gitleaks/v8/report"
1010
"github.com/zricethezav/gitleaks/v8/sources"
1111
)
@@ -27,7 +27,7 @@ var protectCmd = &cobra.Command{
2727
func runProtect(cmd *cobra.Command, args []string) {
2828
source, err := cmd.Flags().GetString("source")
2929
if err != nil {
30-
log.Fatal().Err(err).Msg("could not get source")
30+
logging.Fatal().Err(err).Msg("could not get source")
3131
}
3232
initConfig(source)
3333

@@ -43,7 +43,7 @@ func runProtect(cmd *cobra.Command, args []string) {
4343
var findings []report.Finding
4444
gitCmd, err := sources.NewGitDiffCmd(source, staged)
4545
if err != nil {
46-
log.Fatal().Err(err).Msg("")
46+
logging.Fatal().Err(err).Msg("")
4747
}
4848
findings, err = detector.DetectGit(gitCmd)
4949

0 commit comments

Comments
 (0)
0