main logger

This commit is contained in:
mr 2024-07-18 17:55:27 +02:00
parent 3e9eae007b
commit 0a441cd3df
7 changed files with 40 additions and 25 deletions

View File

@ -39,20 +39,19 @@ type MongoDB struct {
func (m *MongoDB) Init(collections []string, config MongoConf) { func (m *MongoDB) Init(collections []string, config MongoConf) {
// var baseConfig string // var baseConfig string
m.Logger = logs.CreateLogger("oc-lib", "") m.Logger = logs.GetLogger()
ResourceMap = make(map[string]interface{}) ResourceMap = make(map[string]interface{})
logger := logs.CreateLogger("oclib", "") m.Logger.Info().Msg("Connecting to" + config.GetUrl())
logger.Info().Msg("Connecting to" + config.GetUrl())
MngoCtx, cancel = context.WithTimeout(context.Background(), 10*time.Second) MngoCtx, cancel = context.WithTimeout(context.Background(), 10*time.Second)
defer cancel() defer cancel()
m.createClient(config.GetUrl()) m.createClient(config.GetUrl())
logger.Info().Msg("Connecting mongo client to db " + config.GetDatabase()) m.Logger.Info().Msg("Connecting mongo client to db " + config.GetDatabase())
m.prepareDB(collections, config) m.prepareDB(collections, config)
logger.Info().Msg("Database is READY") m.Logger.Info().Msg("Database is READY")
} }

View File

@ -2,6 +2,7 @@ package oclib
import ( import (
"cloud.o-forge.io/core/oc-lib/dbs/mongo" "cloud.o-forge.io/core/oc-lib/dbs/mongo"
"cloud.o-forge.io/core/oc-lib/logs"
"cloud.o-forge.io/core/oc-lib/models" "cloud.o-forge.io/core/oc-lib/models"
"cloud.o-forge.io/core/oc-lib/models/resources" "cloud.o-forge.io/core/oc-lib/models/resources"
"cloud.o-forge.io/core/oc-lib/models/utils" "cloud.o-forge.io/core/oc-lib/models/utils"
@ -27,27 +28,29 @@ type LibData struct {
Err error `bson:"error" json:"error"` Err error `bson:"error" json:"error"`
} }
func Init() { func Init(appName string) {
logs.SetAppName(appName)
logs.SetLogger(logs.CreateLogger("main", ""))
mongo.MONGOService.Init(models.GetModelsNames(), GetConfig()) mongo.MONGOService.Init(models.GetModelsNames(), GetConfig())
} }
func LoadOne(col LibDataEnum, id string) LibData { func LoadOne(collection LibDataEnum, id string) LibData {
d, err := models.Model(col.EnumIndex()).GetAccessor().LoadOne(id) d, err := models.Model(collection.EnumIndex()).GetAccessor().LoadOne(id)
return LibData{Data: d, Err: err} return LibData{Data: d, Err: err}
} }
func UpdateOne(col LibDataEnum, set map[string]interface{}, id string) LibData { func UpdateOne(collection LibDataEnum, set map[string]interface{}, id string) LibData {
d, err := models.Model(col.EnumIndex()).GetAccessor().UpdateOne(set, id) d, err := models.Model(collection.EnumIndex()).GetAccessor().UpdateOne(set, id)
return LibData{Data: d, Err: err} return LibData{Data: d, Err: err}
} }
func DeleteOne(col LibDataEnum, id string) LibData { func DeleteOne(collection LibDataEnum, id string) LibData {
d, err := models.Model(col.EnumIndex()).GetAccessor().DeleteOne(id) d, err := models.Model(collection.EnumIndex()).GetAccessor().DeleteOne(id)
return LibData{Data: d, Err: err} return LibData{Data: d, Err: err}
} }
func StoreOne(col LibDataEnum, object map[string]interface{}) LibData { func StoreOne(collection LibDataEnum, object map[string]interface{}) LibData {
model := models.Model(col.EnumIndex()) model := models.Model(collection.EnumIndex())
d, err := model.GetAccessor().StoreOne(model.Deserialize(object)) d, err := model.GetAccessor().StoreOne(model.Deserialize(object))
return LibData{Data: d, Err: err} return LibData{Data: d, Err: err}
} }

View File

@ -9,7 +9,7 @@ import (
) )
var logger zerolog.Logger var logger zerolog.Logger
var appname string
// logs.CreateLogger // logs.CreateLogger
// Create a new logger // Create a new logger
// Parameters: // Parameters:
@ -17,13 +17,30 @@ var logger zerolog.Logger
// - url: string : the url of a loki logger, console log only if "" // - url: string : the url of a loki logger, console log only if ""
// Returns: // Returns:
// - zerolog.Logger : the logger that will log for the library and the app // - zerolog.Logger : the logger that will log for the library and the app
func CreateLogger(appname string, url string) zerolog.Logger {
func SetAppName(name string) {
appname = name
}
func GetAppName() string {
return appname
}
func GetLogger() zerolog.Logger {
return logger
}
func SetLogger(l zerolog.Logger) {
logger = l
}
func CreateLogger(funcName string, url string) zerolog.Logger {
if url != "" { if url != "" {
labels := map[string]string{ labels := map[string]string{
"app": "app", "app": appname,
"code": "go", "code": "go",
"platform": runtime.GOOS, "platform": runtime.GOOS,
"function": funcName,
} }
lokiWriter := NewLokiWriter(url, labels) lokiWriter := NewLokiWriter(url, labels)

View File

@ -20,7 +20,7 @@ var models = map[string]func() utils.DBObject{
} }
func Model(model int) utils.DBObject { func Model(model int) utils.DBObject {
log := logs.CreateLogger("oclib", "") log := logs.GetLogger()
if _, ok := models[r.FromInt(model)]; ok { if _, ok := models[r.FromInt(model)]; ok {
return models[r.FromInt(model)]() return models[r.FromInt(model)]()
} }

View File

@ -2,7 +2,6 @@ package processing
import ( import (
"cloud.o-forge.io/core/oc-lib/dbs/mongo" "cloud.o-forge.io/core/oc-lib/dbs/mongo"
"cloud.o-forge.io/core/oc-lib/logs"
"cloud.o-forge.io/core/oc-lib/models/utils" "cloud.o-forge.io/core/oc-lib/models/utils"
) )
@ -33,8 +32,7 @@ func (pma *ProcessingMongoAccessor) LoadOne(id string) (utils.DBObject, error) {
res_mongo, err := mongo.MONGOService.LoadOne(id, pma.GetType()) res_mongo, err := mongo.MONGOService.LoadOne(id, pma.GetType())
if err != nil { if err != nil {
l := logs.CreateLogger("oclib", "") pma.Logger.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error())
l.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error())
return nil, err return nil, err
} }

View File

@ -2,7 +2,6 @@ package storage
import ( import (
"cloud.o-forge.io/core/oc-lib/dbs/mongo" "cloud.o-forge.io/core/oc-lib/dbs/mongo"
"cloud.o-forge.io/core/oc-lib/logs"
"cloud.o-forge.io/core/oc-lib/models/utils" "cloud.o-forge.io/core/oc-lib/models/utils"
) )
@ -33,8 +32,7 @@ func (sma *StorageMongoAccessor) LoadOne(id string) (utils.DBObject, error) {
res_mongo, err := mongo.MONGOService.LoadOne(id, sma.GetType()) res_mongo, err := mongo.MONGOService.LoadOne(id, sma.GetType())
if err != nil { if err != nil {
l := logs.CreateLogger("oclib", "") sma.Logger.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error())
l.Error().Msg("Could not retrieve " + id + " from db. Error: " + err.Error())
return nil, err return nil, err
} }

View File

@ -17,7 +17,7 @@ func (dma *AbstractAccessor) GetType() string {
} }
func (dma *AbstractAccessor) SetLogger(t resources.ResourceType) { func (dma *AbstractAccessor) SetLogger(t resources.ResourceType) {
dma.Logger = logs.CreateLogger("oclib", t.String()) dma.Logger = logs.CreateLogger(t.String(), "")
dma.Type = t.String() dma.Type = t.String()
} }
func (dma *AbstractAccessor) GenericDeleteOne(id string, accessor Accessor) (DBObject, error) { func (dma *AbstractAccessor) GenericDeleteOne(id string, accessor Accessor) (DBObject, error) {