Add logger to the server
This commit is contained in:
parent
acac38d1f6
commit
af92353a89
3 changed files with 26 additions and 2 deletions
|
@ -9,7 +9,7 @@ information of the subject so you can reach them easily.
|
|||
|
||||
- [ ] Create the bot scaffold
|
||||
- [X] Define how to read the birthdays info
|
||||
- [ ] Add a logger instance to the config
|
||||
- [X] Add a logger instance to the config
|
||||
- [ ] Add config validation on server creation
|
||||
- [ ] Create a configurable template to fill with each notification
|
||||
- [ ] Create different message systems to use with the bot
|
||||
|
|
|
@ -2,7 +2,10 @@ package main
|
|||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
|
||||
"git.ctrlz.es/mgdelacroix/birthdaybot/model"
|
||||
"git.ctrlz.es/mgdelacroix/birthdaybot/server"
|
||||
"github.com/charmbracelet/log"
|
||||
)
|
||||
|
||||
|
@ -10,5 +13,15 @@ func main() {
|
|||
configFlag := flag.String("config", "birthdaybot.yml", "path to the configuration file")
|
||||
flag.Parse()
|
||||
|
||||
log.Info("Starting, with config file", "config", *configFlag)
|
||||
config, err := model.ReadConfig(*configFlag)
|
||||
if err != nil {
|
||||
log.Error("error reading config", "configPath", *configFlag, "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
_, err = server.New(config)
|
||||
if err != nil {
|
||||
log.Error("error creating server", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,23 +2,34 @@ package server
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"git.ctrlz.es/mgdelacroix/birthdaybot/model"
|
||||
"git.ctrlz.es/mgdelacroix/birthdaybot/parser"
|
||||
"github.com/charmbracelet/log"
|
||||
)
|
||||
|
||||
type Server struct {
|
||||
logger *log.Logger
|
||||
config *model.Config
|
||||
birthdays []*model.Birthday
|
||||
}
|
||||
|
||||
func New(config *model.Config) (*Server, error) {
|
||||
logger := log.New(os.Stderr)
|
||||
|
||||
logger.Info("Parsing CSV file", "birthdayFile", config.BirthdayFile)
|
||||
|
||||
birthdays, err := parser.ParseCSV(config.BirthdayFile)
|
||||
if err != nil {
|
||||
logger.Error("cannot parse CSV file", "birthdayFile", config.BirthdayFile, "error", err)
|
||||
return nil, fmt.Errorf("cannot parse CSV file %s: %w", config.BirthdayFile, err)
|
||||
}
|
||||
|
||||
logger.Info("creating server")
|
||||
|
||||
server := &Server{
|
||||
logger: logger,
|
||||
config: config,
|
||||
birthdays: birthdays,
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue