From: subhash kumar singh Date: Wed, 31 May 2023 09:34:51 +0000 (+0000) Subject: Merge "Changing status to connected state after timeout." X-Git-Tag: 6.0.2~1 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=d2b9be015618ea5214a55c107cbdf1ef4b2ebb1f;hp=086691323016a409a53df7ca6f52339641a19063;p=ric-plt%2Fe2mgr.git Merge "Changing status to connected state after timeout." --- diff --git a/E2Manager/Dockerfile b/E2Manager/Dockerfile old mode 100755 new mode 100644 index 4185d4a..d8810d4 --- a/E2Manager/Dockerfile +++ b/E2Manager/Dockerfile @@ -57,4 +57,5 @@ ENV LD_LIBRARY_PATH=/usr/local/lib \ ENV RMR_SEED_RT=router.txt ENV RMR_VCTL_FILE=/tmp/rmr.verbose EXPOSE 3800 -CMD ["sh", "-c", "./main -port=$port"] +CMD ["sh", "-c", "./main -port=$port -f /etc/config/log-level.yaml"] + diff --git a/E2Manager/app/main.go b/E2Manager/app/main.go old mode 100755 new mode 100644 index f8510ea..58d20b5 --- a/E2Manager/app/main.go +++ b/E2Manager/app/main.go @@ -34,15 +34,21 @@ import ( "e2mgr/services" "e2mgr/services/rmrreceiver" "e2mgr/services/rmrsender" - "fmt" + //"fmt" + "flag" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader" "gerrit.o-ran-sc.org/r/ric-plt/sdlgo" + "github.com/spf13/viper" + "github.com/fsnotify/fsnotify" "os" "strconv" ) const GeneralKeyDefaultValue = "{\"enableRic\":true}" +const DEFAULT_CONFIG_FILE = "../resources/configuration.yaml" +const DEFAULT_PORT = "8080" +var Log *logger.Logger func initKeys(logger *logger.Logger, sdl *sdlgo.SyncStorage) error { ok, err := sdl.SetIfNotExists(common.GetRNibNamespace(), common.BuildGeneralConfigurationKey(), GeneralKeyDefaultValue) @@ -61,53 +67,106 @@ func initKeys(logger *logger.Logger, sdl *sdlgo.SyncStorage) error { return nil } +/**Dynamic log-level changes **/ + +func loadConfig() { + viper.SetConfigFile(parseCmd()) + if err := viper.ReadInConfig(); err != nil { + Log.Errorf("Error reading config file, %s", err) + } + Log.Infof("Using config file: %s\n", viper.ConfigFileUsed()) + // Watch for config file changes and re-read data ... + watch() +} +func parseCmd() string { + var fileName *string + fileName = flag.String("f", DEFAULT_CONFIG_FILE, "Specify the configuration file.") + flag.String("port", DEFAULT_PORT, "Specify the port file.") + flag.Parse() + + return *fileName +} + +func watch() { + viper.WatchConfig() + viper.OnConfigChange(func(e fsnotify.Event) { + Log.Infof("config file changed %s", e.Name) + setLoglevel() + }) +} + +/*********MDC LOG CHNAGES ********/ +func setLoglevel() { + var loglevel int + if err := viper.UnmarshalKey("loglevel", &loglevel); err != nil { + Log.Errorf("Unmarshalling failed while reading %d", loglevel) + } + + switch loglevel { + case 1: + Log.Infof("LOGLEVEL is set to ERROR\n") + case 2: + Log.Infof("LOGLEVEL is set to WARNING\n") + case 3: + Log.Infof("LOGLEVEL is set to INFO\n") + case 4: + Log.Infof("LOGLEVEL is set to DEBUG\n") + } + Log.SetLevel(loglevel) +} + func main() { config := configuration.ParseConfiguration() - logLevel, _ := logger.LogLevelTokenToLevel(config.Logging.LogLevel) - logger, err := logger.InitLogger(logLevel) - if err != nil { + level := int8(4) + Log, _ = logger.InitLogger(level) + Log.SetFormat(0) + Log.SetMdc("e2mgr", "0.2.2") + /*if err != nil { fmt.Printf("#app.main - failed to initialize logger, error: %s", err) os.Exit(1) - } - logger.Infof("#app.main - Configuration %s", config) + }*/ + Log.Infof("#app.main - Configuration %s", config) + loadConfig() + + setLoglevel() sdl := sdlgo.NewSyncStorage() - err = initKeys(logger, sdl) + err := initKeys(Log, sdl) if err != nil { os.Exit(1) } defer sdl.Close() - rnibDataService := services.NewRnibDataService(logger, config, reader.GetNewRNibReader(sdl), rNibWriter.GetRNibWriter(sdl, config.RnibWriter)) + rnibDataService := services.NewRnibDataService(Log, config, reader.GetNewRNibReader(sdl), rNibWriter.GetRNibWriter(sdl, config.RnibWriter)) - ranListManager := managers.NewRanListManager(logger, rnibDataService) + ranListManager := managers.NewRanListManager(Log, rnibDataService) err = ranListManager.InitNbIdentityMap() if err != nil { - logger.Errorf("#app.main - quit") + Log.Errorf("#app.main - quit") os.Exit(1) } var msgImpl *rmrCgo.Context - rmrMessenger := msgImpl.Init("tcp:"+strconv.Itoa(config.Rmr.Port), config.Rmr.MaxMsgSize, 0, logger) - rmrSender := rmrsender.NewRmrSender(logger, rmrMessenger) - e2tInstancesManager := managers.NewE2TInstancesManager(rnibDataService, logger) - routingManagerClient := clients.NewRoutingManagerClient(logger, config, clients.NewHttpClient()) - ranAlarmService := services.NewRanAlarmService(logger, config) - ranConnectStatusChangeManager := managers.NewRanConnectStatusChangeManager(logger, rnibDataService, ranListManager, ranAlarmService) - e2tAssociationManager := managers.NewE2TAssociationManager(logger, rnibDataService, e2tInstancesManager, routingManagerClient, ranConnectStatusChangeManager) - e2tShutdownManager := managers.NewE2TShutdownManager(logger, config, rnibDataService, e2tInstancesManager, e2tAssociationManager, ranConnectStatusChangeManager) - e2tKeepAliveWorker := managers.NewE2TKeepAliveWorker(logger, rmrSender, e2tInstancesManager, e2tShutdownManager, config) + rmrMessenger := msgImpl.Init("tcp:"+strconv.Itoa(config.Rmr.Port), config.Rmr.MaxMsgSize, 0, Log) + rmrSender := rmrsender.NewRmrSender(Log, rmrMessenger) + e2tInstancesManager := managers.NewE2TInstancesManager(rnibDataService, Log) + routingManagerClient := clients.NewRoutingManagerClient(Log, config, clients.NewHttpClient()) + ranAlarmService := services.NewRanAlarmService(Log, config) + ranConnectStatusChangeManager := managers.NewRanConnectStatusChangeManager(Log, rnibDataService, ranListManager, ranAlarmService) + e2tAssociationManager := managers.NewE2TAssociationManager(Log, rnibDataService, e2tInstancesManager, routingManagerClient, ranConnectStatusChangeManager) + e2tShutdownManager := managers.NewE2TShutdownManager(Log, config, rnibDataService, e2tInstancesManager, e2tAssociationManager, ranConnectStatusChangeManager) + e2tKeepAliveWorker := managers.NewE2TKeepAliveWorker(Log, rmrSender, e2tInstancesManager, e2tShutdownManager, config) rmrNotificationHandlerProvider := rmrmsghandlerprovider.NewNotificationHandlerProvider() - rmrNotificationHandlerProvider.Init(logger, config, rnibDataService, rmrSender, e2tInstancesManager, routingManagerClient, e2tAssociationManager, ranConnectStatusChangeManager, ranListManager) + rmrNotificationHandlerProvider.Init(Log, config, rnibDataService, rmrSender, e2tInstancesManager, routingManagerClient, e2tAssociationManager, ranConnectStatusChangeManager, ranListManager) - notificationManager := notificationmanager.NewNotificationManager(logger, rmrNotificationHandlerProvider) - rmrReceiver := rmrreceiver.NewRmrReceiver(logger, rmrMessenger, notificationManager) + notificationManager := notificationmanager.NewNotificationManager(Log, rmrNotificationHandlerProvider) + rmrReceiver := rmrreceiver.NewRmrReceiver(Log, rmrMessenger, notificationManager) nodebValidator := managers.NewNodebValidator() - updateEnbManager := managers.NewUpdateEnbManager(logger, rnibDataService, nodebValidator) - updateGnbManager := managers.NewUpdateGnbManager(logger, rnibDataService, nodebValidator) + updateEnbManager := managers.NewUpdateEnbManager(Log, rnibDataService, nodebValidator) + updateGnbManager := managers.NewUpdateGnbManager(Log, rnibDataService, nodebValidator) e2tInstancesManager.ResetKeepAliveTimestampsForAllE2TInstances() @@ -116,10 +175,14 @@ func main() { go rmrReceiver.ListenAndHandle() go e2tKeepAliveWorker.Execute() - httpMsgHandlerProvider := httpmsghandlerprovider.NewIncomingRequestHandlerProvider(logger, rmrSender, config, rnibDataService, e2tInstancesManager, routingManagerClient, ranConnectStatusChangeManager, nodebValidator, updateEnbManager, updateGnbManager, ranListManager) + httpMsgHandlerProvider := httpmsghandlerprovider.NewIncomingRequestHandlerProvider(Log, rmrSender, config, rnibDataService, e2tInstancesManager, routingManagerClient, ranConnectStatusChangeManager, nodebValidator, updateEnbManager, updateGnbManager, ranListManager) rootController := controllers.NewRootController(rnibDataService) - nodebController := controllers.NewNodebController(logger, httpMsgHandlerProvider) - e2tController := controllers.NewE2TController(logger, httpMsgHandlerProvider) - symptomController := controllers.NewSymptomdataController(logger, httpMsgHandlerProvider, rnibDataService, ranListManager) - _ = httpserver.Run(logger, config.Http.Port, rootController, nodebController, e2tController, symptomController) + nodebController := controllers.NewNodebController(Log, httpMsgHandlerProvider) + e2tController := controllers.NewE2TController(Log, httpMsgHandlerProvider) + symptomController := controllers.NewSymptomdataController(Log, httpMsgHandlerProvider, rnibDataService, ranListManager) + //fmt.Println("loadconfig called at last") + //loadConfig() + _ = httpserver.Run(Log, config.Http.Port, rootController, nodebController, e2tController, symptomController) + //fmt.Println("loadconfig called at last") + //loadConfig() } diff --git a/E2Manager/clients/routing_manager_client_test.go b/E2Manager/clients/routing_manager_client_test.go index 686733e..31a4c7f 100644 --- a/E2Manager/clients/routing_manager_client_test.go +++ b/E2Manager/clients/routing_manager_client_test.go @@ -248,7 +248,8 @@ func TestDissociateAllRans_RoutingManager_400(t *testing.T) { // TODO: extract to test_utils func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + level := int8(1) + log, err := logger.InitLogger(level) if err != nil { t.Errorf("#delete_all_request_handler_test.TestHandleSuccessFlow - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/controllers/nodeb_controller_test.go b/E2Manager/controllers/nodeb_controller_test.go index cd22cc6..713fcde 100644 --- a/E2Manager/controllers/nodeb_controller_test.go +++ b/E2Manager/controllers/nodeb_controller_test.go @@ -1701,7 +1701,8 @@ func parseJsonRequest(t *testing.T, r io.Reader) models.ErrorResponse { } func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#delete_all_request_handler_test.TestHandleSuccessFlow - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/controllers/root_controller_test.go b/E2Manager/controllers/root_controller_test.go index 42d0bdf..a22f5d6 100644 --- a/E2Manager/controllers/root_controller_test.go +++ b/E2Manager/controllers/root_controller_test.go @@ -36,7 +36,8 @@ import ( ) func setupNodebControllerTest(t *testing.T) (services.RNibDataService, *mocks.RnibReaderMock){ - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } @@ -91,4 +92,4 @@ func TestHandleHealthCheckRequestConnError(t *testing.T) { writer := httptest.NewRecorder() rc.HandleHealthCheckRequest(writer, nil) assert.Equal(t, http.StatusInternalServerError, writer.Result().StatusCode) -} \ No newline at end of file +} diff --git a/E2Manager/controllers/symptomdata_controller.go b/E2Manager/controllers/symptomdata_controller.go old mode 100755 new mode 100644 diff --git a/E2Manager/converters/endc_setup_failure_response_converter_test.go b/E2Manager/converters/endc_setup_failure_response_converter_test.go index ac5aa52..2d9e991 100644 --- a/E2Manager/converters/endc_setup_failure_response_converter_test.go +++ b/E2Manager/converters/endc_setup_failure_response_converter_test.go @@ -35,7 +35,8 @@ Test permutations of x2 setup response to protobuf enb */ func TestUnpackEndcX2SetupFailureResponseAndExtract(t *testing.T) { - logger, _ := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + logger, _ := logger.InitLogger(InfoLevel) var testCases = []struct { response string diff --git a/E2Manager/converters/endc_setup_response_converter_test.go b/E2Manager/converters/endc_setup_response_converter_test.go index d4b2848..1c57b00 100644 --- a/E2Manager/converters/endc_setup_response_converter_test.go +++ b/E2Manager/converters/endc_setup_response_converter_test.go @@ -35,7 +35,8 @@ Test permutations of x2 setup response to protobuf enb */ func TestUnpackEndcX2SetupResponseAndExtract(t *testing.T) { - logger, _ := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(4) + logger, _ := logger.InitLogger(InfoLevel) var testCases = []struct { key *entities.GlobalNbId diff --git a/E2Manager/converters/x2_setup_failure_response_converter_test.go b/E2Manager/converters/x2_setup_failure_response_converter_test.go index 3f4cebd..2cdc940 100644 --- a/E2Manager/converters/x2_setup_failure_response_converter_test.go +++ b/E2Manager/converters/x2_setup_failure_response_converter_test.go @@ -35,7 +35,8 @@ Test permutations of x2 setup response to protobuf enb */ func TestUnpackX2SetupFailureResponseAndExtract(t *testing.T) { - logger, _ := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + logger, _ := logger.InitLogger(InfoLevel) var testCases = []struct { response string diff --git a/E2Manager/converters/x2_setup_response_converter_test.go b/E2Manager/converters/x2_setup_response_converter_test.go index 739a412..81def40 100644 --- a/E2Manager/converters/x2_setup_response_converter_test.go +++ b/E2Manager/converters/x2_setup_response_converter_test.go @@ -35,7 +35,8 @@ Test permutations of x2 setup response to protobuf enb */ func TestUnpackX2SetupResponseAndExtract(t *testing.T) { - logger, _ := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + logger, _ := logger.InitLogger(InfoLevel) var testCases = []struct { key *entities.GlobalNbId diff --git a/E2Manager/converters/x2apPdu_asn1_unpacker.go b/E2Manager/converters/x2apPdu_asn1_unpacker.go index 69e23aa..194711c 100644 --- a/E2Manager/converters/x2apPdu_asn1_unpacker.go +++ b/E2Manager/converters/x2apPdu_asn1_unpacker.go @@ -72,10 +72,10 @@ func UnpackX2apPdu(logger *logger.Logger, allocationBufferSize int, packedBuffer return nil, errors.New(fmt.Sprintf("unpacking error: %s", C.GoString(&errBuf[0]))) } - if logger.DebugEnabled() { + //if logger.DebugEnabled() { C.asn1_pdu_printer(pdu, C.size_t(len(errBuf)), &errBuf[0]) - logger.Debugf("#x2apPdu_asn1_unpacker.UnpackX2apPdu - PDU: %v packed size:%d", C.GoString(&errBuf[0]), packedBufferSize) - } + //logger.Debugf("#x2apPdu_asn1_unpacker.UnpackX2apPdu - PDU: %v packed size:%d", C.GoString(&errBuf[0]), packedBufferSize) + //} return pdu, nil } @@ -89,11 +89,11 @@ func UnpackX2apPduAndRefine(logger *logger.Logger, allocationBufferSize int, pac defer C.delete_pdu(pdu) var refinedResponse = "" - if logger.DebugEnabled() { + //if logger.DebugEnabled() { buf := make([]C.char, 16*maxMessageBufferSize) C.asn1_pdu_printer(pdu, C.size_t(len(buf)), &buf[0]) refinedResponse = C.GoString(&buf[0]) - } + //} return &X2PduRefinedResponse{PduPrint: refinedResponse}, nil } diff --git a/E2Manager/converters/x2apPdu_asn1_unpacker_test.go b/E2Manager/converters/x2apPdu_asn1_unpacker_test.go index c0119a4..6306022 100644 --- a/E2Manager/converters/x2apPdu_asn1_unpacker_test.go +++ b/E2Manager/converters/x2apPdu_asn1_unpacker_test.go @@ -35,7 +35,8 @@ import ( */ func TestUnpackX2apSetupResponse(t *testing.T) { - logger, _ := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, _ := logger.InitLogger(DebugLevel) wantPduAsStr := `SuccessfulOutcome ::= { procedureCode: 6 @@ -108,7 +109,8 @@ func TestUnpackX2apSetupResponse(t *testing.T) { /*unpacking error*/ func TestUnpackX2apSetupResponseUnpackError(t *testing.T) { - logger, _ := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + logger, _ := logger.InitLogger(InfoLevel) wantError := "unpacking error: #src/asn1codec_utils.c.unpack_pdu_aux - Failed to decode E2AP-PDU (consumed 0), error = 0 Success" //--------------------2006002a diff --git a/E2Manager/e2pdus/configuration_update_test.go b/E2Manager/e2pdus/configuration_update_test.go index a4b40e4..86e27a5 100644 --- a/E2Manager/e2pdus/configuration_update_test.go +++ b/E2Manager/e2pdus/configuration_update_test.go @@ -31,7 +31,8 @@ import ( ) func TestPrepareEndcConfigurationUpdateFailurePDU(t *testing.T) { - _,err := logger.InitLogger(logger.InfoLevel) + InfoLevel:= int8(3) + _,err := logger.InitLogger(InfoLevel) if err!=nil{ t.Errorf("failed to initialize logger, error: %s", err) } @@ -49,7 +50,8 @@ func TestPrepareEndcConfigurationUpdateFailurePDU(t *testing.T) { } func TestPrepareEndcConfigurationUpdateFailurePDUFailure(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel:= int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } @@ -66,7 +68,8 @@ func TestPrepareEndcConfigurationUpdateFailurePDUFailure(t *testing.T) { } func TestPrepareX2EnbConfigurationUpdateFailurePDU(t *testing.T) { - _,err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + _,err := logger.InitLogger(InfoLevel) if err!=nil{ t.Errorf("failed to initialize logger, error: %s", err) } @@ -84,7 +87,8 @@ func TestPrepareX2EnbConfigurationUpdateFailurePDU(t *testing.T) { } func TestPrepareX2EnbConfigurationUpdateFailurePDUFailure(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel:= int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } @@ -101,7 +105,8 @@ func TestPrepareX2EnbConfigurationUpdateFailurePDUFailure(t *testing.T) { } func TestPrepareEndcConfigurationUpdateAckPDU(t *testing.T) { - _,err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + _,err := logger.InitLogger(InfoLevel) if err!=nil{ t.Errorf("failed to initialize logger, error: %s", err) } @@ -119,7 +124,8 @@ func TestPrepareEndcConfigurationUpdateAckPDU(t *testing.T) { } func TestPrepareEndcConfigurationUpdateAckPDUFailure(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } @@ -136,7 +142,8 @@ func TestPrepareEndcConfigurationUpdateAckPDUFailure(t *testing.T) { } func TestPrepareX2EnbConfigurationUpdateAckPDU(t *testing.T) { - _,err := logger.InitLogger(logger.InfoLevel) + InfoLevel:= int8(3) + _,err := logger.InitLogger(InfoLevel) if err!=nil{ t.Errorf("failed to initialize logger, error: %s", err) } @@ -154,7 +161,8 @@ func TestPrepareX2EnbConfigurationUpdateAckPDU(t *testing.T) { } func TestPrepareX2EnbConfigurationUpdateAckPDUFailure(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel:= int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } @@ -168,4 +176,4 @@ func TestPrepareX2EnbConfigurationUpdateAckPDUFailure(t *testing.T) { if !strings.Contains(err.Error(), expected) { t.Errorf("want :[%s], got: [%s]\n", expected, err) } -} \ No newline at end of file +} diff --git a/E2Manager/e2pdus/x2_reset_known_causes_test.go b/E2Manager/e2pdus/x2_reset_known_causes_test.go index 2988f40..8c3140d 100644 --- a/E2Manager/e2pdus/x2_reset_known_causes_test.go +++ b/E2Manager/e2pdus/x2_reset_known_causes_test.go @@ -29,7 +29,8 @@ import ( ) func TestKnownCausesToX2ResetPDU(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } @@ -77,7 +78,8 @@ func TestKnownCausesToX2ResetPDU(t *testing.T) { } func TestKnownCausesToX2ResetPDUFailure(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } @@ -89,7 +91,8 @@ func TestKnownCausesToX2ResetPDUFailure(t *testing.T) { } func TestPrepareX2ResetPDUsFailure(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } diff --git a/E2Manager/e2pdus/x2_reset_response_test.go b/E2Manager/e2pdus/x2_reset_response_test.go index e91c7b1..b347dd9 100644 --- a/E2Manager/e2pdus/x2_reset_response_test.go +++ b/E2Manager/e2pdus/x2_reset_response_test.go @@ -29,7 +29,8 @@ import ( ) func TestPrepareX2ResetResponsePDU(t *testing.T) { - _,err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + _,err := logger.InitLogger(InfoLevel) if err!=nil{ t.Errorf("failed to initialize logger, error: %s", err) } @@ -47,7 +48,8 @@ func TestPrepareX2ResetResponsePDU(t *testing.T) { } func TestPrepareX2ResetResponsePDUFailure(t *testing.T) { - _, err := logger.InitLogger(logger.InfoLevel) + InfoLevel:= int8(3) + _, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("failed to initialize logger, error: %s", err) } @@ -61,4 +63,4 @@ func TestPrepareX2ResetResponsePDUFailure(t *testing.T) { if !strings.Contains(err.Error(), expected) { t.Errorf("want :[%s], got: [%s]\n", expected, err) } -} \ No newline at end of file +} diff --git a/E2Manager/go.mod b/E2Manager/go.mod index 4d4899f..6294658 100644 --- a/E2Manager/go.mod +++ b/E2Manager/go.mod @@ -1,31 +1,43 @@ module e2mgr require ( + gerrit.o-ran-sc.org/r/com/golog v0.0.2 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.2.1 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.8 gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.2.1 gerrit.o-ran-sc.org/r/ric-plt/sdlgo v0.8.0 + github.com/fsnotify/fsnotify v1.4.9 github.com/golang/protobuf v1.4.2 github.com/gorilla/mux v1.7.0 - github.com/kr/pretty v0.2.0 // indirect github.com/magiconair/properties v1.8.1 + github.com/pkg/errors v0.8.1 + github.com/spf13/viper v1.4.0 + github.com/stretchr/testify v1.5.1 + gopkg.in/yaml.v2 v2.3.0 +) + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/go-redis/redis v6.15.9+incompatible // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/kr/pretty v0.2.0 // indirect github.com/mitchellh/mapstructure v1.3.2 // indirect github.com/pelletier/go-toml v1.8.0 // indirect - github.com/pkg/errors v0.8.1 + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/spf13/afero v1.2.2 // indirect github.com/spf13/cast v1.3.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.4.0 github.com/stretchr/objx v0.2.0 // indirect - github.com/stretchr/testify v1.5.1 - go.uber.org/multierr v1.2.0 // indirect - go.uber.org/zap v1.11.0 golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 // indirect + golang.org/x/text v0.3.2 // indirect + google.golang.org/protobuf v1.23.0 // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect - gopkg.in/yaml.v2 v2.3.0 + k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect ) replace gerrit.o-ran-sc.org/r/ric-plt/sdlgo => gerrit.o-ran-sc.org/r/ric-plt/sdlgo.git v0.8.0 -go 1.13 +replace gerrit.o-ran-sc.org/r/com/golog => gerrit.o-ran-sc.org/r/com/golog.git v0.0.2 + +go 1.18 diff --git a/E2Manager/go.sum b/E2Manager/go.sum index 8dbfcaa..dfb0c4d 100644 --- a/E2Manager/go.sum +++ b/E2Manager/go.sum @@ -1,10 +1,9 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +gerrit.o-ran-sc.org/r/com/golog.git v0.0.2 h1:Ix6SgFuzd6yW6Ur6+qDlGhDO65UYs8PiIkeAL1VaQ2o= +gerrit.o-ran-sc.org/r/com/golog.git v0.0.2/go.mod h1:A7hUL52YQSO4dFIZNcj76XQ09C9PftAe3LyL7kqBnok= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.2.1 h1:3FFbXx55BODThXfyWAiz6cPXVELXFICDQUmJi13EoxM= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common v1.2.1/go.mod h1:QJ1uPPZosGbhxUWpUpeM5fLqFHdnWTrVnvW2DgyOCes= -gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.1 h1:8Z60JRsPgcS1Ona4fEh6d0/03nLq1WHoZcNnBsni5+g= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.1/go.mod h1:YaQ+XEI4PcAoISxp9wUpUr2TP0J7JihpQTD0G1Lpd4A= -gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.5 h1:RgbLxLgJcMQsm84NJI5q81PKRtgPk3j1VvMTWO5U9os= -gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.5/go.mod h1:YaQ+XEI4PcAoISxp9wUpUr2TP0J7JihpQTD0G1Lpd4A= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.8 h1:9KLAcDI20l0lYsIbfzlVRMwWLU6iflJkgqG1FxmvcPM= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities v1.2.8/go.mod h1:8NTND7RCHfHPQtx1xk9oclqF/7usqDAX9aYBzt3Hynk= gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader v1.2.1 h1:BG3kste8PLVTG0m8CRB/VP2tAV5JImKueBGuOsUNcR8= @@ -14,14 +13,11 @@ gerrit.o-ran-sc.org/r/ric-plt/sdlgo.git v0.8.0/go.mod h1:KCHu4JkWnw2Ro6P747wU9S2 github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= @@ -34,7 +30,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= @@ -46,13 +41,11 @@ github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGK github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= @@ -61,10 +54,8 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -78,28 +69,23 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/julienschmidt/httprouter v1.2.0 h1:TDTW5Yz1mjftljbcKqRcrYhd4XeOoI98t+9HbQbYf7g= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= @@ -114,7 +100,6 @@ github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9k github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw= github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= @@ -128,42 +113,35 @@ github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDf github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0 h1:7etb9YClo3a6HjLzfl6rIQaU+FDfi0VSX39io3aQ+DM= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -171,18 +149,10 @@ github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGr github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.2.0 h1:6I+W7f5VwC5SV9dNrZ3qXrDB9mD0dyGOi/ZJmYw03T4= -go.uber.org/multierr v1.2.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.11.0 h1:gSmpCfs+R47a4yQPAI4xJ0IPDLTRGXskm6UelqNXpqE= -go.uber.org/zap v1.11.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -191,11 +161,9 @@ golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 h1:AeiKBIuRw3UomYXSbLy0Mc2dDLfdtbT/IVn4keq83P0= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -205,21 +173,17 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 h1:OjiUf46hAmXblsZdnoSXsEUSKU8r1UEzcL5RVZ4gO9Y= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -238,24 +202,21 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= +k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= diff --git a/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go b/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go index 4451788..9b949b6 100644 --- a/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go +++ b/E2Manager/handlers/httpmsghandlers/delete_all_request_handler_test.go @@ -686,7 +686,8 @@ func TestSuccessTwoE2TInstancesSixRans(t *testing.T) { } func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + log, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#initLog test - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/handlers/httpmsghandlers/update_nodeb_request_handler_test.go b/E2Manager/handlers/httpmsghandlers/update_nodeb_request_handler_test.go index 26bf3a6..7be5263 100644 --- a/E2Manager/handlers/httpmsghandlers/update_nodeb_request_handler_test.go +++ b/E2Manager/handlers/httpmsghandlers/update_nodeb_request_handler_test.go @@ -13,7 +13,8 @@ import ( ) func setupUpdateNodebRequestHandlerTest(t *testing.T) ( *UpdateNodebRequestHandler, *mocks.RnibReaderMock, *mocks.RnibWriterMock){ - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go b/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go index b1b68ee..e2ce5d2 100644 --- a/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler_test.go @@ -635,7 +635,8 @@ func initRmrSender(rmrMessengerMock *mocks.RmrMessengerMock, log *logger.Logger) // TODO: extract to test_utils func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#delete_all_request_handler_test.TestHandleSuccessFlow - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/handlers/rmrmsghandlers/ran_lost_connection_handler_test.go b/E2Manager/handlers/rmrmsghandlers/ran_lost_connection_handler_test.go index d612932..52ea11d 100644 --- a/E2Manager/handlers/rmrmsghandlers/ran_lost_connection_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/ran_lost_connection_handler_test.go @@ -42,7 +42,8 @@ const ( ) func setupLostConnectionHandlerTest(isSuccessfulHttpPost bool) (*RanLostConnectionHandler, *mocks.RnibReaderMock, *mocks.RnibWriterMock, *mocks.HttpClientMock) { - logger, _ := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + logger, _ := logger.InitLogger(InfoLevel) config := &configuration.Configuration{ RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3, diff --git a/E2Manager/handlers/rmrmsghandlers/setup_response_notification_handler_test.go b/E2Manager/handlers/rmrmsghandlers/setup_response_notification_handler_test.go index b401cbb..b8918b4 100644 --- a/E2Manager/handlers/rmrmsghandlers/setup_response_notification_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/setup_response_notification_handler_test.go @@ -79,7 +79,8 @@ type setupResponseTestContext struct { } func NewSetupResponseTestContext(manager managers.ISetupResponseManager) *setupResponseTestContext { - logger, _ := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + logger, _ := logger.InitLogger(InfoLevel) config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3} readerMock := &mocks.RnibReaderMock{} writerMock := &mocks.RnibWriterMock{} diff --git a/E2Manager/handlers/rmrmsghandlers/x2_reset_response_handler_test.go b/E2Manager/handlers/rmrmsghandlers/x2_reset_response_handler_test.go index 7a99903..fcc15dd 100644 --- a/E2Manager/handlers/rmrmsghandlers/x2_reset_response_handler_test.go +++ b/E2Manager/handlers/rmrmsghandlers/x2_reset_response_handler_test.go @@ -44,7 +44,8 @@ const ( ) func initX2ResetResponseHandlerTest(t *testing.T) (X2ResetResponseHandler, *mocks.RnibReaderMock, *mocks.RmrMessengerMock) { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3} if err != nil { t.Errorf("#initX2ResetResponseHandlerTest - failed to initialize logger, error: %s", err) diff --git a/E2Manager/httpserver/http_server.go b/E2Manager/httpserver/http_server.go old mode 100755 new mode 100644 diff --git a/E2Manager/httpserver/http_server_test.go b/E2Manager/httpserver/http_server_test.go old mode 100755 new mode 100644 index bbbdb14..7103ff8 --- a/E2Manager/httpserver/http_server_test.go +++ b/E2Manager/httpserver/http_server_test.go @@ -226,7 +226,8 @@ func TestRouteDeleteEnb(t *testing.T) { } func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#initLog test - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/logger/logger.go b/E2Manager/logger/logger.go index 0cdfd2f..fabf80c 100644 --- a/E2Manager/logger/logger.go +++ b/E2Manager/logger/logger.go @@ -21,167 +21,55 @@ package logger import ( - "fmt" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "strings" + mdclog "gerrit.o-ran-sc.org/r/com/golog" "time" ) type Logger struct { - Logger *zap.Logger + logger *mdclog.MdcLogger } -// Copied from zap logger -// -// A Level is a logging priority. Higher levels are more important. -type LogLevel int8 - -const ( - // DebugLevel logs are typically voluminous, and are usually disabled in - // production. - DebugLevel LogLevel = iota - 1 - // InfoLevel is the default logging priority. - InfoLevel - // WarnLevel logs are more important than Info, but don't need individual - // human review. - WarnLevel - // ErrorLevel logs are high-priority. If an application is running smoothly, - // it shouldn't generate any error-level logs. - ErrorLevel - // DPanicLevel logs are particularly important errors. In development the - // logger panics after writing the message. - DPanicLevel - // PanicLevel logs a message, then panics. - PanicLevel - // FatalLevel logs a message, then calls os.Exit(1). - FatalLevel - - _minLevel = DebugLevel - _maxLevel = FatalLevel -) - -var logLevelTokenToLevel = map[string] LogLevel { - "debug" : DebugLevel, - "info": InfoLevel, - "warn": WarnLevel, - "error": ErrorLevel, - "dpanic": DPanicLevel, - "panic": PanicLevel, - "fatal": FatalLevel, -} - -func LogLevelTokenToLevel(level string) (LogLevel, bool) { - if level, ok := logLevelTokenToLevel[strings.TrimSpace(strings.ToLower(level))];ok { - return level, true - } - return _maxLevel+1, false -} - -func InitLogger(requested LogLevel) (*Logger, error) { - var logger *zap.Logger - var err error - switch requested { - case DebugLevel: - logger, err = initLoggerByLevel(zapcore.DebugLevel) - case InfoLevel: - logger, err = initLoggerByLevel(zapcore.InfoLevel) - case WarnLevel: - logger, err = initLoggerByLevel(zapcore.WarnLevel) - case ErrorLevel: - logger, err = initLoggerByLevel(zapcore.ErrorLevel) - case DPanicLevel: - logger, err = initLoggerByLevel(zapcore.DPanicLevel) - case PanicLevel: - logger, err = initLoggerByLevel(zapcore.PanicLevel) - case FatalLevel: - logger, err = initLoggerByLevel(zapcore.FatalLevel) - default: - err = fmt.Errorf("Invalid logging Level :%d",requested) - } - if err != nil { - return nil, err - } - return &Logger{Logger:logger}, nil - -} -func(l *Logger)Sync() error { - l.Debugf("#logger.Sync - Going to flush buffered log") - return l.Logger.Sync() +func InitLogger(loglevel int8 ) (*Logger, error) { + name := "e2mgr" + log ,err:= NewLogger(name) + return log,err } -func (l *Logger)Infof(formatMsg string, a ...interface{}) { - if l.InfoEnabled() { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Info(msg, zap.Any("mdc", l.getTimeStampMdc())) - } +func NewLogger(name string) (*Logger, error) { + l,err:= mdclog.InitLogger(name) + return &Logger{ + logger: l, + },err } -func (l *Logger)Debugf(formatMsg string, a ...interface{}) { - if l.DebugEnabled(){ - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Debug(msg, zap.Any("mdc", l.getTimeStampMdc())) - } +func (l *Logger) SetFormat(logMonitor int) { + l.logger.Mdclog_format_initialize(logMonitor) } -func (l *Logger)Errorf(formatMsg string, a ...interface{}) { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Error(msg, zap.Any("mdc", l.getTimeStampMdc())) +func (l *Logger) SetLevel(level int) { + l.logger.LevelSet(mdclog.Level(level)) } -func (l *Logger)Warnf(formatMsg string, a ...interface{}) { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Warn(msg, zap.Any("mdc", l.getTimeStampMdc())) +func (l *Logger) SetMdc(key string, value string) { + l.logger.MdcAdd(key, value) } -func (l *Logger) getTimeStampMdc() map[string]string { - timeStr := time.Now().Format("2006-01-02 15:04:05.000") - mdc := map[string]string{"time": timeStr} - return mdc +func (l *Logger) Errorf(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Error(pattern, args...) } -func (l *Logger)InfoEnabled()bool{ - return l.Logger.Core().Enabled(zap.InfoLevel) +func (l *Logger) Warnf(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Warning(pattern, args...) } -func (l *Logger)DebugEnabled()bool{ - return l.Logger.Core().Enabled(zap.DebugLevel) +func (l *Logger) Infof(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Info(pattern, args...) } -func (l *Logger)DPanicf(formatMsg string, a ...interface{}) { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.DPanic(msg, zap.Any("mdc", l.getTimeStampMdc())) +func (l *Logger) Debugf(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Debug(pattern, args...) } - -func initLoggerByLevel(l zapcore.Level) (*zap.Logger, error) { - cfg := zap.Config{ - Encoding: "json", - Level: zap.NewAtomicLevelAt(l), - OutputPaths: []string{"stdout"}, - ErrorOutputPaths: []string{"stderr"}, - EncoderConfig: zapcore.EncoderConfig{ - MessageKey: "msg", - - LevelKey: "crit", - EncodeLevel: zapcore.CapitalLevelEncoder, - - TimeKey: "ts", - EncodeTime: epochMillisIntegerTimeEncoder, - - CallerKey: "id", - EncodeCaller: e2ManagerCallerEncoder, - }, - } - return cfg.Build() -} - -func e2ManagerCallerEncoder(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder) { - enc.AppendString("E2Manager") -} - -func epochMillisIntegerTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) { - nanos := t.UnixNano() - millis := int64(nanos) / int64(time.Millisecond) - enc.AppendInt64(millis) -} - diff --git a/E2Manager/logger/logger_test.go b/E2Manager/logger/logger_test.go deleted file mode 100644 index d1d00d2..0000000 --- a/E2Manager/logger/logger_test.go +++ /dev/null @@ -1,293 +0,0 @@ -// -// Copyright 2019 AT&T Intellectual Property -// Copyright 2019 Nokia -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This source code is part of the near-RT RIC (RAN Intelligent Controller) -// platform project (RICP). - - -package logger - -import ( - "bytes" - "github.com/stretchr/testify/assert" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "io" - "os" - "testing" -) - -func TestInitDebugLoggerSuccess(t *testing.T) { - log, err := InitLogger(DebugLevel) - assert.Nil(t, err) - assert.NotNil(t, log) - assert.True(t, log.Logger.Core().Enabled(zap.DebugLevel)) -} - -func TestInitInfoLoggerSuccess(t *testing.T) { - log, err := InitLogger(InfoLevel) - assert.Nil(t, err) - assert.NotNil(t, log) - assert.True(t, log.Logger.Core().Enabled(zap.InfoLevel)) -} - -func TestInitWarnLoggerSuccess(t *testing.T) { - log, err := InitLogger(WarnLevel) - assert.Nil(t, err) - assert.NotNil(t, log) - assert.True(t, log.Logger.Core().Enabled(zap.WarnLevel)) -} - -func TestInitErrorLoggerSuccess(t *testing.T) { - log, err := InitLogger(ErrorLevel) - assert.Nil(t, err) - assert.NotNil(t, log) - assert.True(t, log.Logger.Core().Enabled(zap.ErrorLevel)) -} - -func TestInitDPanicLoggerSuccess(t *testing.T) { - log, err := InitLogger(DPanicLevel) - assert.Nil(t, err) - assert.NotNil(t, log) - assert.True(t, log.Logger.Core().Enabled(zap.DPanicLevel)) -} - -func TestInitPanicLoggerSuccess(t *testing.T) { - log, err := InitLogger(PanicLevel) - assert.Nil(t, err) - assert.NotNil(t, log) - assert.True(t, log.Logger.Core().Enabled(zap.PanicLevel)) -} - -func TestInitInfoLoggerFailure(t *testing.T) { - log, err := InitLogger(99) - assert.NotNil(t, err) - assert.Nil(t, log) -} - -func TestSyncSuccess(t *testing.T){ - logFile, err := os.Create("./loggerTest.txt") - if err != nil{ - t.Errorf("logger_test.TestSyncSuccess - failed to create file, error: %s", err) - } - old := os.Stdout - os.Stdout = logFile - log, err := InitLogger(DebugLevel) - if err != nil { - t.Errorf("logger_test.TestSyncSuccess - failed to initialize logger, error: %s", err) - } - err = log.Sync() - assert.Nil(t, err) - - os.Stdout = old - logFile, err = os.Open("./loggerTest.txt") - if err != nil{ - t.Errorf("logger_test.TestSyncSuccess - failed to open file, error: %s", err) - } - var buf bytes.Buffer - _, err = io.Copy(&buf, logFile) - if err != nil { - t.Errorf("logger_test.TestSyncSuccess - failed to copy bytes, error: %s", err) - } - debugRecord,_ :=buf.ReadString('\n') - errorRecord,_ :=buf.ReadString('\n') - - assert.NotEmpty(t, debugRecord) - assert.Empty(t, errorRecord) - err = os.Remove("./loggerTest.txt") - if err != nil { - t.Errorf("logger_test.TestSyncSuccess - failed to remove file, error: %s", err) - } - -} - -func TestSyncFailure(t *testing.T){ - log, err := InitLogger(DebugLevel) - err = log.Sync() - assert.NotNil(t, err) -} - -func TestDebugEnabledFalse(t *testing.T){ - entryNum, log := countRecords(InfoLevel, t) - assert.False(t, log.DebugEnabled()) - assert.Equal(t,3, entryNum) -} - -func TestDebugEnabledTrue(t *testing.T){ - entryNum, log := countRecords(DebugLevel, t) - assert.True(t, log.DebugEnabled()) - assert.Equal(t,4, entryNum) -} - -func TestDPanicfDebugLevel(t *testing.T){ - assert.True(t,validateRecordExists(DebugLevel, zap.DPanicLevel, t)) -} - -func TestDPanicfInfoLevel(t *testing.T){ - assert.True(t,validateRecordExists(InfoLevel, zap.DPanicLevel, t)) -} - -func TestErrorfDebugLevel(t *testing.T) { - assert.True(t,validateRecordExists(DebugLevel, zap.ErrorLevel, t)) -} - -func TestErrorfInfoLevel(t *testing.T) { - assert.True(t,validateRecordExists(InfoLevel, zap.ErrorLevel, t)) -} - -func TestInfofDebugLevel(t *testing.T) { - assert.True(t,validateRecordExists(DebugLevel, zap.InfoLevel, t)) -} - -func TestInfofInfoLevel(t *testing.T) { - assert.True(t,validateRecordExists(InfoLevel, zap.InfoLevel, t)) -} - -func TestDebugfDebugLevel(t *testing.T) { - assert.True(t,validateRecordExists(DebugLevel, zap.DebugLevel, t)) -} - -func TestDebugfInfoLevel(t *testing.T) { - assert.False(t,validateRecordExists(InfoLevel, zap.DebugLevel, t)) -} - -func TestInfofFatalLevel(t *testing.T) { - assert.False(t,validateRecordExists(FatalLevel, zap.InfoLevel, t)) -} - -func TestDebugfFatalLevel(t *testing.T) { - assert.False(t,validateRecordExists(FatalLevel, zap.DebugLevel, t)) -} - -func TestWarnfWarnLevel(t *testing.T) { - assert.True(t,validateRecordExists(WarnLevel, zap.WarnLevel, t)) -} - -func TestWarnfDebugLevel(t *testing.T) { - assert.True(t,validateRecordExists(DebugLevel, zap.WarnLevel, t)) -} - -func TestWarnfInfoLevel(t *testing.T) { - assert.True(t,validateRecordExists(InfoLevel, zap.WarnLevel, t)) -} - -func TestWarnfFatalLevel(t *testing.T) { - assert.False(t,validateRecordExists(FatalLevel, zap.WarnLevel, t)) -} - -func TestLogLevelTokenToLevel(t *testing.T) { - level, ok := LogLevelTokenToLevel("deBug") - assert.True(t, ok) - assert.True(t, level == DebugLevel) - - level, ok = LogLevelTokenToLevel("infO") - assert.True(t, ok) - assert.True(t, level == InfoLevel) - - level, ok = LogLevelTokenToLevel("Warn") - assert.True(t, ok) - assert.True(t, level == WarnLevel) - - level, ok = LogLevelTokenToLevel("eRror") - assert.True(t, ok) - assert.True(t, level == ErrorLevel) - - level, ok = LogLevelTokenToLevel("Dpanic ") - assert.True(t, ok) - assert.True(t, level == DPanicLevel) - - level, ok = LogLevelTokenToLevel(" panic ") - assert.True(t, ok) - assert.True(t, level == PanicLevel) - - level, ok = LogLevelTokenToLevel("fatal") - assert.True(t, ok) - assert.True(t, level == FatalLevel) - - level, ok = LogLevelTokenToLevel("zzz") - assert.False(t, ok) - assert.True(t, level > FatalLevel) - -} -func countRecords(logLevel LogLevel, t *testing.T) (int, *Logger){ - old := os.Stdout - r, w, _ :=os.Pipe() - os.Stdout = w - log, err := InitLogger(logLevel) - if err != nil { - t.Errorf("logger_test.TestSyncFailure - failed to initialize logger, error: %s", err) - } - log.Infof("%v, %v, %v", 1, "abc", 0.1) - log.Debugf("%v, %v, %v", 1, "abc", 0.1) - log.Errorf("%v, %v, %v", 1, "abc", 0.1) - log.DPanicf("%v, %v, %v", 1, "abc", 0.1) - err = w.Close() - if err != nil { - t.Errorf("logger_test.TestSyncFailure - failed to close writer, error: %s", err) - } - os.Stdout = old - var buf bytes.Buffer - _, err = io.Copy(&buf, r) - if err != nil { - t.Errorf("logger_test.TestSyncFailure - failed to copy bytes, error: %s", err) - } - entryNum := 0 - s,_:= buf.ReadString('\n') - for len(s) > 0{ - entryNum +=1 - s,_= buf.ReadString('\n') - } - return entryNum, log -} - -func validateRecordExists(logLevel LogLevel, recordLevel zapcore.Level, t *testing.T) bool { - old := os.Stdout - r, w, _ :=os.Pipe() - os.Stdout = w - log, err := InitLogger(logLevel) - if err != nil { - t.Errorf("logger_test.TestSyncFailure - failed to initialize logger, error: %s", err) - } - switch recordLevel{ - case zap.DebugLevel: - log.Debugf("%v, %v, %v", 1, "abc", 0.1) - case zap.InfoLevel: - log.Infof("%v, %v, %v", 1, "abc", 0.1) - case zap.WarnLevel: - log.Warnf("%v, %v, %v", 1, "abc", 0.1) - case zap.ErrorLevel: - log.Errorf("%v, %v, %v", 1, "abc", 0.1) - case zap.DPanicLevel: - log.DPanicf("%v, %v, %v", 1, "abc", 0.1) - } - err = w.Close() - if err != nil { - t.Errorf("logger_test.TestSyncFailure - failed to close writer, error: %s", err) - } - os.Stdout = old - var buf bytes.Buffer - _, err = io.Copy(&buf, r) - if err != nil { - t.Errorf("logger_test.TestSyncFailure - failed to copy bytes, error: %s", err) - } - entryNum := 0 - s,_:= buf.ReadString('\n') - for len(s) > 0{ - entryNum +=1 - s,_= buf.ReadString('\n') - } - return entryNum == 1 -} \ No newline at end of file diff --git a/E2Manager/managers/e2_reset_status_change_manager_test.go b/E2Manager/managers/e2_reset_status_change_manager_test.go index d09eb32..6a9241a 100644 --- a/E2Manager/managers/e2_reset_status_change_manager_test.go +++ b/E2Manager/managers/e2_reset_status_change_manager_test.go @@ -31,7 +31,8 @@ import ( ) func initE2ResetStatusChangeTest(t *testing.T) (*logger.Logger, *mocks.RmrMessengerMock, *mocks.RnibReaderMock, *mocks.RnibWriterMock, *RanResetManager) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/e2t_instances_manager_test.go b/E2Manager/managers/e2t_instances_manager_test.go index 863bfe1..380ac05 100644 --- a/E2Manager/managers/e2t_instances_manager_test.go +++ b/E2Manager/managers/e2t_instances_manager_test.go @@ -39,7 +39,8 @@ const E2TAddress2 = "10.10.2.16:9800" const PodName = "som_ pod_name" func initE2TInstancesManagerTest(t *testing.T) (*mocks.RnibReaderMock, *mocks.RnibWriterMock, *E2TInstancesManager) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/e2t_keep_alive_worker_test.go b/E2Manager/managers/e2t_keep_alive_worker_test.go index c15aedb..bd77572 100644 --- a/E2Manager/managers/e2t_keep_alive_worker_test.go +++ b/E2Manager/managers/e2t_keep_alive_worker_test.go @@ -36,7 +36,8 @@ import ( ) func initE2TKeepAliveTest(t *testing.T) (*mocks.RmrMessengerMock, *mocks.RnibReaderMock, *mocks.RnibWriterMock, *mocks.E2TShutdownManagerMock, *E2TKeepAliveWorker) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } @@ -202,4 +203,4 @@ func TestExecute_Two_E2TExpired(t *testing.T) { rmrMessengerMock.AssertCalled(t, "SendMsg", req, false) e2tShutdownManagerMock.AssertCalled(t, "Shutdown", e2tInstance1) -} \ No newline at end of file +} diff --git a/E2Manager/managers/notificationmanager/notification_manager_test.go b/E2Manager/managers/notificationmanager/notification_manager_test.go index 9b9ffe5..4ca6ce9 100644 --- a/E2Manager/managers/notificationmanager/notification_manager_test.go +++ b/E2Manager/managers/notificationmanager/notification_manager_test.go @@ -86,7 +86,8 @@ func initRmrSender(rmrMessengerMock *mocks.RmrMessengerMock, log *logger.Logger) // TODO: extract to test_utils func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#delete_all_request_handler_test.TestHandleSuccessFlow - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/ran_connect_status_change_manager_test.go b/E2Manager/managers/ran_connect_status_change_manager_test.go index 0c1cb0a..38b6746 100644 --- a/E2Manager/managers/ran_connect_status_change_manager_test.go +++ b/E2Manager/managers/ran_connect_status_change_manager_test.go @@ -36,7 +36,8 @@ import ( const EventChannelForTest = "RAN_CONNECTION_STATUS_CHANGE" func initRanConnectStatusChangeManagerTest(t *testing.T) (*mocks.RnibWriterMock, *mocks.RanListManagerMock, *mocks.RanAlarmServiceMock, *RanConnectStatusChangeManager) { - log, err := logger.InitLogger(logger.DebugLevel) + Debug := int8(4) + log, err := logger.InitLogger(Debug) if err != nil { t.Errorf("#... - failed to initialize log, error: %s", err) } diff --git a/E2Manager/managers/ran_disconnection_manager_test.go b/E2Manager/managers/ran_disconnection_manager_test.go index 0710849..9c87879 100644 --- a/E2Manager/managers/ran_disconnection_manager_test.go +++ b/E2Manager/managers/ran_disconnection_manager_test.go @@ -41,7 +41,8 @@ const ranName = "test" const e2tAddress = "10.10.2.15:9800" func initRanLostConnectionTest(t *testing.T) (*logger.Logger, *mocks.RmrMessengerMock, *mocks.RnibReaderMock, *mocks.RnibWriterMock, *RanDisconnectionManager, *mocks.HttpClientMock) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/ran_list_manager.go b/E2Manager/managers/ran_list_manager.go old mode 100755 new mode 100644 diff --git a/E2Manager/managers/ran_list_manager_test.go b/E2Manager/managers/ran_list_manager_test.go index a729f06..0ce1f52 100644 --- a/E2Manager/managers/ran_list_manager_test.go +++ b/E2Manager/managers/ran_list_manager_test.go @@ -32,7 +32,8 @@ import ( ) func initRanListManagerTest(t *testing.T) (*mocks.RnibReaderMock, *mocks.RnibWriterMock, RanListManager) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Fatalf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/ran_setup_manager_test.go b/E2Manager/managers/ran_setup_manager_test.go index c2dbb35..a4cefef 100644 --- a/E2Manager/managers/ran_setup_manager_test.go +++ b/E2Manager/managers/ran_setup_manager_test.go @@ -38,7 +38,8 @@ import ( ) func initRanSetupManagerTest(t *testing.T) (*mocks.RmrMessengerMock, *mocks.RnibWriterMock, *RanSetupManager) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } @@ -211,7 +212,8 @@ func TestExecuteSetupUnsupportedProtocol(t *testing.T) { } func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#initLog test - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/ran_status_change_manager_test.go b/E2Manager/managers/ran_status_change_manager_test.go index a0f497b..697a492 100644 --- a/E2Manager/managers/ran_status_change_manager_test.go +++ b/E2Manager/managers/ran_status_change_manager_test.go @@ -32,7 +32,8 @@ import ( ) func initRanStatusChangeManagerTest(t *testing.T) (*logger.Logger, *mocks.RmrMessengerMock, *rmrsender.RmrSender) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Fatalf("#initStatusChangeManagerTest - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/update_enb_manager.go b/E2Manager/managers/update_enb_manager.go old mode 100755 new mode 100644 diff --git a/E2Manager/managers/update_enb_manager_test.go b/E2Manager/managers/update_enb_manager_test.go index 1932cb3..268cb1d 100644 --- a/E2Manager/managers/update_enb_manager_test.go +++ b/E2Manager/managers/update_enb_manager_test.go @@ -11,7 +11,8 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" ) func initUpdateEnbManagerTest(t *testing.T) (*UpdateEnbManager, *logger.Logger, services.RNibDataService, *NodebValidator) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/managers/update_gnb_manager_test.go b/E2Manager/managers/update_gnb_manager_test.go index 56c02d4..2290db0 100644 --- a/E2Manager/managers/update_gnb_manager_test.go +++ b/E2Manager/managers/update_gnb_manager_test.go @@ -11,7 +11,8 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" ) func initUpdateGnbManagerTest(t *testing.T) (*UpdateGnbManager, *logger.Logger, services.RNibDataService, *NodebValidator) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/mocks/e2t_symptomdata_mock.go b/E2Manager/mocks/e2t_symptomdata_mock.go old mode 100755 new mode 100644 diff --git a/E2Manager/models/e2_request_message_test.go b/E2Manager/models/e2_request_message_test.go index e7ca8c7..77cabdc 100644 --- a/E2Manager/models/e2_request_message_test.go +++ b/E2Manager/models/e2_request_message_test.go @@ -41,7 +41,8 @@ func TestNewE2RequestMessage(t *testing.T){ } func TestGetMessageAsBytes(t *testing.T){ - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#nodeb_controller_test.TestHandleRequestSuccess - failed to initialize logger, error: %s", err) } @@ -49,4 +50,4 @@ func TestGetMessageAsBytes(t *testing.T){ e2 := models.NewE2RequestMessage(transactionId, tests.RanIp, uint16(tests.Port), tests.RanName, tests.DummyPayload) bytes := e2.GetMessageAsBytes(log) assert.Equal(t, expectedMessageAsBytesHex, hex.EncodeToString(bytes)) -} \ No newline at end of file +} diff --git a/E2Manager/providers/httpmsghandlerprovider/incoming_request_handler_provider_test.go b/E2Manager/providers/httpmsghandlerprovider/incoming_request_handler_provider_test.go index db1915a..3f98e95 100644 --- a/E2Manager/providers/httpmsghandlerprovider/incoming_request_handler_provider_test.go +++ b/E2Manager/providers/httpmsghandlerprovider/incoming_request_handler_provider_test.go @@ -130,7 +130,8 @@ func TestGetShutdownHandlerFailure(t *testing.T) { } func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#delete_all_request_handler_test.TestHandleSuccessFlow - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/providers/rmrmsghandlerprovider/notification_handler_provider_test.go b/E2Manager/providers/rmrmsghandlerprovider/notification_handler_provider_test.go index 10b8995..735bc1a 100644 --- a/E2Manager/providers/rmrmsghandlerprovider/notification_handler_provider_test.go +++ b/E2Manager/providers/rmrmsghandlerprovider/notification_handler_provider_test.go @@ -159,7 +159,8 @@ func initRmrSender(rmrMessengerMock *mocks.RmrMessengerMock, log *logger.Logger) // TODO: extract to test_utils func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#delete_all_request_handler_test.TestHandleSuccessFlow - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/rmrCgo/rmrCgoApi_test.go b/E2Manager/rmrCgo/rmrCgoApi_test.go index b68aef6..399c2ea 100644 --- a/E2Manager/rmrCgo/rmrCgoApi_test.go +++ b/E2Manager/rmrCgo/rmrCgoApi_test.go @@ -130,7 +130,8 @@ func initRmr(port string, maxMsgSize int, flags int, log *logger.Logger) { }*/ func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + log, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#rmr_c_go_api_test.initLog - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/rmrCgo/rmrCgoUtils.go b/E2Manager/rmrCgo/rmrCgoUtils.go index f26d168..64ff50f 100644 --- a/E2Manager/rmrCgo/rmrCgoUtils.go +++ b/E2Manager/rmrCgo/rmrCgoUtils.go @@ -105,9 +105,9 @@ func (ctx *Context) getAllocatedCRmrMBuf(logger *logger.Logger, mBuf *MBuf, maxM //TODO: change to assert or return error func (ctx *Context) checkContextInitialized() { if ctx.RmrCtx == nil { - if ctx.Logger != nil { + /*if ctx.Logger != nil { ctx.Logger.DPanicf("#rmrCgoUtils.checkContextInitialized - The RMR router has not been initialized") - } + }*/ panic("#rmrCgoUtils.checkContextInitialized - The RMR router has not been initialized. To initialize router please call Init() method") } } diff --git a/E2Manager/services/ran_alarm_service_test.go b/E2Manager/services/ran_alarm_service_test.go index b3d6274..cde13e8 100644 --- a/E2Manager/services/ran_alarm_service_test.go +++ b/E2Manager/services/ran_alarm_service_test.go @@ -10,8 +10,8 @@ import ( func RanAlarmServiceTest(t *testing.T) (RanAlarmService, *logger.Logger, *configuration.Configuration) { - - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/services/rmrreceiver/rmr_receiver_test.go b/E2Manager/services/rmrreceiver/rmr_receiver_test.go index 72ae10a..2b1b38d 100644 --- a/E2Manager/services/rmrreceiver/rmr_receiver_test.go +++ b/E2Manager/services/rmrreceiver/rmr_receiver_test.go @@ -37,7 +37,8 @@ import ( ) func TestListenAndHandle(t *testing.T) { - log, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + log, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#rmr_service_test.TestListenAndHandle - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/services/rmrsender/rmr_sender_test.go b/E2Manager/services/rmrsender/rmr_sender_test.go index a02beba..40f7517 100644 --- a/E2Manager/services/rmrsender/rmr_sender_test.go +++ b/E2Manager/services/rmrsender/rmr_sender_test.go @@ -154,7 +154,8 @@ func TestRmrSenderWhSendFailure(t *testing.T) { // TODO: extract to test_utils func initLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(3) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Fatalf("#initLog - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/services/rnib_data_service_test.go b/E2Manager/services/rnib_data_service_test.go index a505cb7..e78097a 100644 --- a/E2Manager/services/rnib_data_service_test.go +++ b/E2Manager/services/rnib_data_service_test.go @@ -37,7 +37,8 @@ func setupRnibDataServiceTest(t *testing.T) (*rNibDataService, *mocks.RnibReader } func setupRnibDataServiceTestWithMaxAttempts(t *testing.T, maxAttempts int) (*rNibDataService, *mocks.RnibReaderMock, *mocks.RnibWriterMock) { - logger, err := logger.InitLogger(logger.DebugLevel) + DebugLevel := int8(4) + logger, err := logger.InitLogger(DebugLevel) if err != nil { t.Errorf("#... - failed to initialize logger, error: %s", err) } diff --git a/E2Manager/tests/utils.go b/E2Manager/tests/utils.go index 8b3ab95..edd3740 100644 --- a/E2Manager/tests/utils.go +++ b/E2Manager/tests/utils.go @@ -31,7 +31,8 @@ import ( ) func InitLog(t *testing.T) *logger.Logger { - log, err := logger.InitLogger(logger.InfoLevel) + InfoLevel := int8(1) + log, err := logger.InitLogger(InfoLevel) if err != nil { t.Errorf("#test.utils.InitLog - failed to initialize logger, error: %s", err) } diff --git a/tools/xappmock/logger/logger.go b/tools/xappmock/logger/logger.go index 17acb4b..fabf80c 100644 --- a/tools/xappmock/logger/logger.go +++ b/tools/xappmock/logger/logger.go @@ -13,175 +13,63 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// // This source code is part of the near-RT RIC (RAN Intelligent Controller) // platform project (RICP). + package logger import ( - "fmt" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "strings" + mdclog "gerrit.o-ran-sc.org/r/com/golog" "time" ) type Logger struct { - Logger *zap.Logger -} - -// Copied from zap logger -// -// A Level is a logging priority. Higher levels are more important. -type LogLevel int8 - -const ( - // DebugLevel logs are typically voluminous, and are usually disabled in - // production. - DebugLevel LogLevel = iota - 1 - // InfoLevel is the default logging priority. - InfoLevel - // WarnLevel logs are more important than Info, but don't need individual - // human review. - WarnLevel - // ErrorLevel logs are high-priority. If an application is running smoothly, - // it shouldn't generate any error-level logs. - ErrorLevel - // DPanicLevel logs are particularly important errors. In development the - // logger panics after writing the message. - DPanicLevel - // PanicLevel logs a message, then panics. - PanicLevel - // FatalLevel logs a message, then calls os.Exit(1). - FatalLevel - - _minLevel = DebugLevel - _maxLevel = FatalLevel -) - -var logLevelTokenToLevel = map[string] LogLevel { - "debug" : DebugLevel, - "info": InfoLevel, - "warn": WarnLevel, - "error": ErrorLevel, - "dpanic": DPanicLevel, - "panic": PanicLevel, - "fatal": FatalLevel, + logger *mdclog.MdcLogger } -func LogLevelTokenToLevel(level string) (LogLevel, bool) { - if level, ok := logLevelTokenToLevel[strings.TrimSpace(strings.ToLower(level))];ok { - return level, true - } - return _maxLevel+1, false +func InitLogger(loglevel int8 ) (*Logger, error) { + name := "e2mgr" + log ,err:= NewLogger(name) + return log,err } -func InitLogger(requested LogLevel) (*Logger, error) { - var logger *zap.Logger - var err error - switch requested { - case DebugLevel: - logger, err = initLoggerByLevel(zapcore.DebugLevel) - case InfoLevel: - logger, err = initLoggerByLevel(zapcore.InfoLevel) - case WarnLevel: - logger, err = initLoggerByLevel(zapcore.WarnLevel) - case ErrorLevel: - logger, err = initLoggerByLevel(zapcore.ErrorLevel) - case DPanicLevel: - logger, err = initLoggerByLevel(zapcore.DPanicLevel) - case PanicLevel: - logger, err = initLoggerByLevel(zapcore.PanicLevel) - case FatalLevel: - logger, err = initLoggerByLevel(zapcore.FatalLevel) - default: - err = fmt.Errorf("Invalid logging Level :%d",requested) - } - if err != nil { - return nil, err - } - return &Logger{Logger:logger}, nil - -} -func(l *Logger)Sync() error { - l.Debugf("#logger.Sync - Going to flush buffered log") - return l.Logger.Sync() +func NewLogger(name string) (*Logger, error) { + l,err:= mdclog.InitLogger(name) + return &Logger{ + logger: l, + },err } -func (l *Logger)Infof(formatMsg string, a ...interface{}) { - if l.InfoEnabled() { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Info(msg, zap.Any("mdc", l.getTimeStampMdc())) - } +func (l *Logger) SetFormat(logMonitor int) { + l.logger.Mdclog_format_initialize(logMonitor) } -func (l *Logger)Debugf(formatMsg string, a ...interface{}) { - if l.DebugEnabled(){ - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Debug(msg, zap.Any("mdc", l.getTimeStampMdc())) - } +func (l *Logger) SetLevel(level int) { + l.logger.LevelSet(mdclog.Level(level)) } -func (l *Logger)Errorf(formatMsg string, a ...interface{}) { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Error(msg, zap.Any("mdc", l.getTimeStampMdc())) +func (l *Logger) SetMdc(key string, value string) { + l.logger.MdcAdd(key, value) } -func (l *Logger)Warnf(formatMsg string, a ...interface{}) { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.Warn(msg, zap.Any("mdc", l.getTimeStampMdc())) +func (l *Logger) Errorf(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Error(pattern, args...) } -func (l *Logger) getTimeStampMdc() map[string]string { - timeStr := time.Now().Format("2006-01-02 15:04:05.000") - mdc := map[string]string{"time": timeStr} - return mdc +func (l *Logger) Warnf(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Warning(pattern, args...) } -func (l *Logger)InfoEnabled()bool{ - return l.Logger.Core().Enabled(zap.InfoLevel) +func (l *Logger) Infof(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Info(pattern, args...) } -func (l *Logger)DebugEnabled()bool{ - return l.Logger.Core().Enabled(zap.DebugLevel) +func (l *Logger) Debugf(pattern string, args ...interface{}) { + l.SetMdc("time", time.Now().Format(time.RFC3339)) + l.logger.Debug(pattern, args...) } - -func (l *Logger)DPanicf(formatMsg string, a ...interface{}) { - msg := fmt.Sprintf(formatMsg, a...) - l.Logger.DPanic(msg, zap.Any("mdc", l.getTimeStampMdc())) -} - -func initLoggerByLevel(l zapcore.Level) (*zap.Logger, error) { - cfg := zap.Config{ - Encoding: "json", - Level: zap.NewAtomicLevelAt(l), - OutputPaths: []string{"stdout"}, - ErrorOutputPaths: []string{"stderr"}, - EncoderConfig: zapcore.EncoderConfig{ - MessageKey: "msg", - - LevelKey: "crit", - EncodeLevel: zapcore.CapitalLevelEncoder, - - TimeKey: "ts", - EncodeTime: epochMillisIntegerTimeEncoder, - - CallerKey: "id", - EncodeCaller: xAppMockCallerEncoder, - }, - } - return cfg.Build() -} - -func xAppMockCallerEncoder(caller zapcore.EntryCaller, enc zapcore.PrimitiveArrayEncoder) { - enc.AppendString("xAppMock") -} - -func epochMillisIntegerTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) { - nanos := t.UnixNano() - millis := int64(nanos) / int64(time.Millisecond) - enc.AppendInt64(millis) -} - diff --git a/tools/xappmock/main/xappmock.go b/tools/xappmock/main/xappmock.go index 18c069e..d85d980 100644 --- a/tools/xappmock/main/xappmock.go +++ b/tools/xappmock/main/xappmock.go @@ -44,7 +44,8 @@ var rmrService *rmr.Service func main() { - logLevel, _ := logger.LogLevelTokenToLevel("info") + //logLevel, _ := logger.LogLevelTokenToLevel("info") + logLevel := int8(1) logger, err := logger.InitLogger(logLevel) if err != nil { fmt.Printf("#app.main - failed to initialize logger, error: %s", err)