Prompt: adds interactive prompt (that does nothing right now)
This commit is contained in:
28
main.go
28
main.go
@@ -9,9 +9,18 @@ import (
|
||||
"github.com/rs/zerolog/log"
|
||||
|
||||
"code.severnaya.net/kordophone-mock/v2/web"
|
||||
"code.severnaya.net/kordophone-mock/v2/prompt"
|
||||
)
|
||||
|
||||
func main() {
|
||||
type LoggingHook struct{
|
||||
prompt *prompt.Prompt
|
||||
}
|
||||
|
||||
func (t *LoggingHook) Run(e *zerolog.Event, level zerolog.Level, message string) {
|
||||
t.prompt.CleanAndRefreshForLogging()
|
||||
}
|
||||
|
||||
func setupLogging() {
|
||||
debug := flag.Bool("debug", false, "enable debug logging")
|
||||
flag.Parse()
|
||||
|
||||
@@ -23,8 +32,10 @@ func main() {
|
||||
if *debug {
|
||||
zerolog.SetGlobalLevel(zerolog.DebugLevel)
|
||||
}
|
||||
}
|
||||
|
||||
log.Info().Msg("Initializing")
|
||||
func main() {
|
||||
setupLogging()
|
||||
|
||||
c := web.MockHTTPServerConfiguration{
|
||||
AuthEnabled: false,
|
||||
@@ -42,5 +53,16 @@ func main() {
|
||||
log.Info().Msgf("Generated test data. %d conversations", len(s.Server.Conversations()))
|
||||
|
||||
log.Info().Msgf("Listening on %s", addr)
|
||||
log.Fatal().Err(httpServer.ListenAndServe())
|
||||
go httpServer.ListenAndServe()
|
||||
|
||||
rl := prompt.NewPrompt()
|
||||
|
||||
// Hook logging so we can refresh the prompt when something is logged.
|
||||
log.Logger = log.Logger.Hook(&LoggingHook{prompt: rl})
|
||||
|
||||
// Read indefinitely
|
||||
err := rl.StartInteractive()
|
||||
if err != nil {
|
||||
log.Error().Err(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user