@@ -2,23 +2,22 @@ package cmd
2
2
3
3
import (
4
4
"fmt"
5
- "io"
6
5
"os"
7
6
"path/filepath"
8
7
"strings"
9
8
10
9
"github.com/fabio42/ssl-checker/ui"
11
10
12
11
tea "github.com/charmbracelet/bubbletea"
13
- "github.com/rs/zerolog"
12
+ // "github.com/rs/zerolog"
14
13
"github.com/rs/zerolog/log"
15
14
"github.com/spf13/cobra"
16
15
"github.com/spf13/viper"
17
16
)
18
17
19
- const (
20
- logFile = "./ssl-checker.log"
21
- )
18
+ // const (
19
+ // logFile = "./ssl-checker.log"
20
+ // )
22
21
23
22
var (
24
23
configFile string
@@ -31,6 +30,16 @@ var rootCmd = &cobra.Command{
31
30
Long : "ssl-checker is a tool to _quickly_ check certificate details of multiple https targets." ,
32
31
33
32
PersistentPreRun : func (cmd * cobra.Command , args []string ) {
33
+ err := setLogger (viper .GetBool ("debug" ))
34
+ if err != nil {
35
+ log .Fatal ().Msgf ("Error failed to configure logger:" , err )
36
+ }
37
+
38
+ if viper .GetBool ("debug" ) {
39
+ // zerolog.SetGlobalLevel(zerolog.DebugLevel)
40
+ log .Warn ().Msgf ("Debug is enabled, log will be found in %v" , logFile )
41
+ }
42
+
34
43
cfgFile := filepath .Base (configFile )
35
44
cfgPath := filepath .Dir (configFile )
36
45
viper .SetConfigName (cfgFile [:len (cfgFile )- len (filepath .Ext (cfgFile ))])
@@ -44,11 +53,6 @@ var rootCmd = &cobra.Command{
44
53
}
45
54
},
46
55
Run : func (cmd * cobra.Command , args []string ) {
47
- if viper .GetBool ("debug" ) {
48
- zerolog .SetGlobalLevel (zerolog .DebugLevel )
49
- log .Warn ().Msgf ("Debug is enabled, log will be found in ./zeroDebug.log" )
50
- }
51
-
52
56
envQuery := strings .Split (envCheck , "," )
53
57
54
58
if viper .IsSet ("queries" ) {
@@ -134,11 +138,6 @@ func sliceContains(s []string, str string) bool {
134
138
}
135
139
136
140
func init () {
137
- err := setLogger ()
138
- if err != nil {
139
- log .Fatal ().Msgf ("Error failed to configure logger:" , err )
140
- }
141
-
142
141
rootCmd .PersistentFlags ().StringVarP (& configFile , "config" , "c" , "$HOME/.config/ssl-checker/config.yaml" , "Configuration file location" )
143
142
rootCmd .PersistentFlags ().BoolP ("silent" , "s" , false , "disable ui" )
144
143
rootCmd .PersistentFlags ().BoolP ("debug" , "d" , false , "Enable debug log, out will be saved in " + logFile )
@@ -149,6 +148,11 @@ func init() {
149
148
viper .BindPFlag ("debug" , rootCmd .PersistentFlags ().Lookup ("debug" ))
150
149
viper .BindPFlag ("timeout" , rootCmd .PersistentFlags ().Lookup ("timeout" ))
151
150
151
+ // err := setLogger(viper.GetBool("debug"))
152
+ // if err != nil {
153
+ // log.Fatal().Msgf("Error failed to configure logger:", err)
154
+ // }
155
+
152
156
rootCmd .AddCommand (listEnvs )
153
157
}
154
158
@@ -157,50 +161,3 @@ func Execute() {
157
161
log .Fatal ().Msgf ("Whoops. There was an error while executing your CLI '%s'" , err )
158
162
}
159
163
}
160
-
161
- // https://github.com/rs/zerolog/issues/150
162
- type LevelWriter struct {
163
- io.Writer
164
- Level zerolog.Level
165
- }
166
-
167
- func (lw * LevelWriter ) WriteLevel (l zerolog.Level , p []byte ) (n int , err error ) {
168
- if l >= lw .Level {
169
- return lw .Write (p )
170
- }
171
- return len (p ), nil
172
- }
173
-
174
- func setLogger () error {
175
- var logWriter * os.File
176
- var err error
177
- zerolog .TimeFieldFormat = zerolog .TimeFormatUnix
178
- zerolog .SetGlobalLevel (zerolog .InfoLevel )
179
- if viper .GetBool ("debug" ) {
180
- zerolog .SetGlobalLevel (zerolog .DebugLevel )
181
-
182
- logWriter , err = os .OpenFile (
183
- logFile ,
184
- os .O_APPEND | os .O_CREATE | os .O_WRONLY ,
185
- 0664 ,
186
- )
187
- if err != nil {
188
- panic (err )
189
- }
190
- }
191
-
192
- fileWriter := zerolog .New (zerolog.ConsoleWriter {
193
- Out : logWriter ,
194
- NoColor : true ,
195
- PartsExclude : []string {"time" , "level" },
196
- })
197
- consoleWriter := zerolog .NewConsoleWriter (
198
- func (w * zerolog.ConsoleWriter ) {
199
- w .Out = os .Stderr
200
- w .PartsExclude = []string {"time" }
201
- },
202
- )
203
- consoleWriterLeveled := & LevelWriter {Writer : consoleWriter , Level : zerolog .InfoLevel }
204
- log .Logger = zerolog .New (zerolog .MultiLevelWriter (fileWriter , consoleWriterLeveled )).With ().Timestamp ().Logger ()
205
- return nil
206
- }
0 commit comments