@@ -10,23 +10,26 @@ import (
1010 "syscall"
1111 "time"
1212
13- //"github.com/nats-io/nats.go"
1413 "github.com/pelletier/go-toml/v2"
1514
1615 "github.com/dnstapir/observation-encoder/internal/api"
1716 "github.com/dnstapir/observation-encoder/internal/app"
1817 "github.com/dnstapir/observation-encoder/internal/cert"
1918 "github.com/dnstapir/observation-encoder/internal/common"
19+ "github.com/dnstapir/observation-encoder/internal/libtapir"
2020 "github.com/dnstapir/observation-encoder/internal/logger"
21+ "github.com/dnstapir/observation-encoder/internal/nats"
2122)
2223
2324var commit = "BAD-BUILD"
2425
2526type conf struct {
2627 app.Conf
27- Debug bool `toml:"debug"`
28- Api api.Conf `toml:"api"`
29- Cert cert.Conf `toml:"cert"`
28+ Debug bool `toml:"debug"`
29+ Api api.Conf `toml:"api"`
30+ Cert cert.Conf `toml:"cert"`
31+ Nats nats.Conf `toml:"nats"`
32+ Libtapir libtapir.Conf `toml:"libtapir"`
3033}
3134
3235func main () {
@@ -87,32 +90,103 @@ func main() {
8790 confDecoder .Decode (& mainConf )
8891 file .Close () // TODO okay to close here while also using defer above?
8992
90- // TODO create different loggers with different debug settings
93+ debugFlag = debugFlag || mainConf .Debug
94+
95+ /*
96+ ******************************************************************
97+ ********************** SET UP NATS *******************************
98+ ******************************************************************
99+ */
100+ natslog , err := logger .Create (
101+ logger.Conf {
102+ Debug : debugFlag || mainConf .Nats .Debug ,
103+ })
104+ if err != nil {
105+ log .Error ("Error creating nats log: %s" , err )
106+ }
107+
108+ mainConf .Nats .Log = natslog
109+ natsHandle , err := nats .Create (mainConf .Nats )
110+ if err != nil {
111+ log .Error ("Could not create NATS handle: %s" , err )
112+ os .Exit (- 1 )
113+ }
114+
115+ /*
116+ ******************************************************************
117+ ********************** SET UP LIBTAPIR ***************************
118+ ******************************************************************
119+ */
120+ libtapirlog , err := logger .Create (
121+ logger.Conf {
122+ Debug : debugFlag || mainConf .Libtapir .Debug ,
123+ })
124+ if err != nil {
125+ log .Error ("Error creating libtapir log: %s" , err )
126+ }
127+
128+ mainConf .Libtapir .Log = libtapirlog
129+ libtapirHandle , err := libtapir .Create (mainConf .Libtapir )
130+ if err != nil {
131+ log .Error ("Could not create libtapir handle: %s" , err )
132+ os .Exit (- 1 )
133+ }
134+
135+ /*
136+ ******************************************************************
137+ ********************** SET UP MAIN APP ***************************
138+ ******************************************************************
139+ */
91140 applog , err := logger .Create (
92141 logger.Conf {
93142 Debug : debugFlag || mainConf .Debug ,
94143 })
95144 if err != nil {
96145 log .Error ("Error creating app log: %s" , err )
97- } else {
98- applog .Debug ("Debug logging enabled" )
99146 }
100147
101148 mainConf .Log = applog
149+ mainConf .NatsHandle = natsHandle
150+ mainConf .LibtapirHandle = libtapirHandle
102151 appHandle , err := app .Create (mainConf .Conf )
103152 if err != nil {
104153 log .Error ("Error creating application: '%s'" , err )
105154 os .Exit (- 1 )
106155 }
107156
108- mainConf .Cert .Log = applog
157+ /*
158+ ******************************************************************
159+ ********************** SET UP CERT HANDLER ***********************
160+ ******************************************************************
161+ */
162+ certlog , err := logger .Create (
163+ logger.Conf {
164+ Debug : debugFlag || mainConf .Cert .Debug ,
165+ })
166+ if err != nil {
167+ log .Error ("Error creating cert log: %s" , err )
168+ }
169+
170+ mainConf .Cert .Log = certlog
109171 certHandle , err := cert .Create (mainConf .Cert )
110172 if err != nil {
111173 log .Error ("Error creating cert manager: '%s'" , err )
112174 os .Exit (- 1 )
113175 }
114176
115- mainConf .Api .Log = applog
177+ /*
178+ ******************************************************************
179+ ********************** SET UP API ********************************
180+ ******************************************************************
181+ */
182+ apilog , err := logger .Create (
183+ logger.Conf {
184+ Debug : debugFlag || mainConf .Api .Debug ,
185+ })
186+ if err != nil {
187+ log .Error ("Error creating API log: %s" , err )
188+ }
189+ mainConf .Api .Log = apilog
116190 mainConf .Api .App = appHandle
117191 mainConf .Api .Certs = certHandle
118192 apiHandle , err := api .Create (mainConf .Api )
@@ -121,6 +195,11 @@ func main() {
121195 os .Exit (- 1 )
122196 }
123197
198+ /*
199+ ******************************************************************
200+ ********************** START RUNNING STUFF ***********************
201+ ******************************************************************
202+ */
124203 sigChan := make (chan os.Signal , 1 )
125204 signal .Notify (sigChan , syscall .SIGINT , syscall .SIGTERM )
126205 defer close (sigChan )
0 commit comments