<prompt> Andika programu ya Golang inayosikiliza maombi yanayoingia ya HTTP kwenye mlango maalum na kuweka njia ya ombi, njia, na vichwa kwenye hifadhidata ya MongoDB. Programu inapaswa kutumia anuwai za mazingira kwa kusanidi kamba ya unganisho ya MongoDB na mlango wa kusikiliza.PLINFORMAT  <response>: kifurushi kikuukuagiza muktadhafmtloginethttposwakatigithub.comgorillamuxgo.mongodb.orgmongo-driverbsongo.mongodb.orgmongo-drivermongogo.mongodb.orgmongo-drivermongooptionschapa RequestLog muundo Njia ya kambaMlolongo wa njiaVijajuu vya http.KichwaWakati.Wakatifunc main mongoURI : os.GetenvMONGO_URIikiwa mongoURI log.FatalUkosefu wa kutofautisha wa mazingira wa MONGO_URIlistenPort : os.GetenvLISTEN_PORTukisikilizaPort log.FatalKigezo cha mazingira LISTEN_PORT kinakosekanamteja, kosa : mongo.NewClientoptions.Client.ApplyURImongoURIikiwa makosa ! nil log.FatalfHitilafu katika kuunda mteja wa MongoDB: v, hitilafuctx, ghairi : context.WithTimeoutcontext.Background, 10time.Secondkuahirisha kufuta makosa mteja.Unganishactxikiwa makosa ! nil log.FatalfHitilafu ya kuunganisha kwa MongoDB: v, hitilafuahirisha mteja.Tenganishactxmkusanyiko : mteja.Databasehttplogs.Mkusanyikomaombir : mux.NewRouterr.HandleFuncnjia:., funcw http.ResponseWriter, r http.Request requestLog : RequestLogMbinu: r.Njia,Njia: r.URL.Path,Vichwa vya habari: r.Kichwa,Wakati: saa.Sasa ,_, kosa : collection.InsertOnectx, requestLogikiwa makosa ! nil log.PrintfHitilafu katika kuingiza ingia kwenye MongoDB: v, hitilafuw.WriteHeaderhttp.StatusInternalServerErrorkurudifmt.Fprintfw, Ombi lililoingia: vn, requestLoglog.PrintfKusikiliza kwenye bandari s, listenPorthttp.ListenAndServe:sikilizaPort, r 