diff --git a/cmd/swag/main.go b/cmd/swag/main.go index b6805c786..d31658364 100644 --- a/cmd/swag/main.go +++ b/cmd/swag/main.go @@ -143,7 +143,7 @@ func initAction(ctx *cli.Context) error { if len(outputTypes) == 0 { return fmt.Errorf("no output types specified") } - var logger swag.Debugger + logger := log.New(os.Stdout, "", log.LstdFlags) if ctx.Bool(quietFlag) { logger = log.New(ioutil.Discard, "", log.LstdFlags) } diff --git a/gen/gen.go b/gen/gen.go index b85290b4f..a427fb314 100644 --- a/gen/gen.go +++ b/gen/gen.go @@ -33,6 +33,12 @@ type Gen struct { jsonIndent func(data interface{}) ([]byte, error) jsonToYAML func(data []byte) ([]byte, error) outputTypeMap map[string]genTypeWriter + debug Debugger +} + +// Debugger is the interface that wraps the basic Printf method. +type Debugger interface { + Printf(format string, v ...interface{}) } // New creates a new Gen. @@ -43,6 +49,7 @@ func New() *Gen { return json.MarshalIndent(data, "", " ") }, jsonToYAML: yaml.JSONToYAML, + debug: log.New(os.Stdout, "", log.LstdFlags), } gen.outputTypeMap = map[string]genTypeWriter{ @@ -117,6 +124,9 @@ type Config struct { // Build builds swagger json file for given searchDir and mainAPIFile. Returns json. func (g *Gen) Build(config *Config) error { + if config.Debugger != nil { + g.debug = config.Debugger + } if config.InstanceName == "" { config.InstanceName = swag.Name } @@ -138,7 +148,7 @@ func (g *Gen) Build(config *Config) error { return fmt.Errorf("could not open overrides file: %w", err) } } else { - log.Printf("Using overrides from %s", config.OverridesFile) + g.debug.Printf("Using overrides from %s", config.OverridesFile) overrides, err = parseOverrides(overridesFile) if err != nil { @@ -147,7 +157,7 @@ func (g *Gen) Build(config *Config) error { } } - log.Println("Generate swagger docs....") + g.debug.Printf("Generate swagger docs....") p := swag.New(swag.SetMarkdownFileDirectory(config.MarkdownFilesDir), swag.SetDebugger(config.Debugger), @@ -216,7 +226,7 @@ func (g *Gen) writeDocSwagger(config *Config, swagger *spec.Swagger) error { return err } - log.Printf("create docs.go at %+v", docFileName) + g.debug.Printf("create docs.go at %+v", docFileName) return nil } @@ -240,7 +250,7 @@ func (g *Gen) writeJSONSwagger(config *Config, swagger *spec.Swagger) error { return err } - log.Printf("create swagger.json at %+v", jsonFileName) + g.debug.Printf("create swagger.json at %+v", jsonFileName) return nil } @@ -269,7 +279,7 @@ func (g *Gen) writeYAMLSwagger(config *Config, swagger *spec.Swagger) error { return err } - log.Printf("create swagger.yaml at %+v", yamlFileName) + g.debug.Printf("create swagger.yaml at %+v", yamlFileName) return nil }