patron v0.46.0 Release Notes
Release Date: 2020-10-23 // over 3 years ago-
- ๐ฆ Expose logger interface to Patron Service (#259)
As requested we exposed the logger interface to the Patron service so you can plug-in you own logger.
๐ We have also introduced a textual logger based on the standard Go package logger which can be used when constructing the service builder.
Example 3 shows hot to use the new text logger and show also the breaking change fix.
Before we did setup the framework in this way:err := patron.SetupLogging(name, version)if err != nil { fmt.Printf("failed to set up logging: %v", err) os.Exit(1) }kafkaCmp, err := newKafkaComponent(name, kafkaBroker, kafkaTopic, kafkaGroup, amqpURL, amqpExchange)if err != nil { log.Fatalf("failed to create processor %v", err) }err = patron.New(name, version).WithComponents(kafkaCmp.cmp).Run(context.Background())if err != nil { log.Fatalf("failed to create and run service %v", err) }
๐ Now we create the service builder with the constructor:
service, err := patron.New(name, version, patron.TextLogger())if err != nil { fmt.Printf("failed to set up service: %v", err) os.Exit(1) }kafkaCmp, err := newKafkaComponent(name, kafkaBroker, kafkaTopic, kafkaGroup, amqpURL, amqpExchange)if err != nil { log.Fatalf("failed to create processor %v", err) }err = service.WithComponents(kafkaCmp.cmp).Run(context.Background())if err != nil { log.Fatalf("failed to create and run service %v", err) }
0๏ธโฃ Keep in mind that if no logger is provided it will use the default structured logger:
service, err := patron.New(name, version)if err != nil { fmt.Printf("failed to set up service: %v", err) os.Exit(1) }