MCPcopy
hub / github.com/42wim/matterbridge / main

Function main

matterbridge.go:26–70  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

24)
25
26func main() {
27 flag.Parse()
28 if *flagVersion {
29 fmt.Printf("version: %s %s\n", version.Release, version.GitHash)
30 return
31 }
32
33 rootLogger := setupLogger()
34 logger := rootLogger.WithFields(logrus.Fields{"prefix": "main"})
35
36 if *flagGops {
37 if err := agent.Listen(agent.Options{}); err != nil {
38 logger.Errorf("Failed to start gops agent: %#v", err)
39 } else {
40 defer agent.Close()
41 }
42 }
43
44 logger.Printf("Running version %s %s", version.Release, version.GitHash)
45 if strings.Contains(version.Release, "-dev") {
46 logger.Println("WARNING: THIS IS A DEVELOPMENT VERSION. Things may break.")
47 }
48
49 cfg := config.NewConfig(rootLogger, *flagConfig)
50 cfg.BridgeValues().General.Debug = *flagDebug
51
52 // if logging to a file, ensure it is closed when the program terminates
53 // nolint:errcheck
54 defer func() {
55 if f, ok := rootLogger.Out.(*os.File); ok {
56 f.Sync()
57 f.Close()
58 }
59 }()
60
61 r, err := gateway.NewRouter(rootLogger, cfg, bridgemap.FullMap)
62 if err != nil {
63 logger.Fatalf("Starting gateway failed: %s", err)
64 }
65 if err = r.Start(); err != nil {
66 logger.Fatalf("Starting gateway failed: %s", err)
67 }
68 logger.Printf("Gateway(s) started succesfully. Now relaying messages")
69 select {}
70}
71
72func setupLogger() *logrus.Logger {
73 logger := &logrus.Logger{

Callers

nothing calls this directly

Calls 5

BridgeValuesMethod · 0.95
StartMethod · 0.95
NewConfigFunction · 0.92
NewRouterFunction · 0.92
setupLoggerFunction · 0.85

Tested by

no test coverage detected