From 9600ab9a27b8ba864d9923cccfc1f23eb93e5693 Mon Sep 17 00:00:00 2001 From: TeoV Date: Sun, 18 Nov 2018 03:35:28 -0500 Subject: [PATCH] Add *log flag for diameter --- agents/diamagent.go | 10 ++++++++++ agents/libdiam.go | 2 +- data/conf/samples/diamagent/voice.json | 6 +++--- utils/consts.go | 1 + 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/agents/diamagent.go b/agents/diamagent.go index 7388a4982..5d8a30df6 100644 --- a/agents/diamagent.go +++ b/agents/diamagent.go @@ -226,6 +226,11 @@ func (da *DiameterAgent) processRequest(reqProcessor *config.DARequestProcessor, break } } + if reqProcessor.Flags.HasKey(utils.MetaLog) { + utils.Logger.Info( + fmt.Sprintf("<%s> LOG, processorID: %s, diameter message: %s", + utils.DiameterAgent, reqProcessor.ID, agReq.Request.String())) + } switch reqType { default: return false, fmt.Errorf("unknown request type: <%s>", reqType) @@ -320,6 +325,11 @@ func (da *DiameterAgent) processRequest(reqProcessor *config.DARequestProcessor, } else { agReq.Reply.Merge(nM) } + if reqProcessor.Flags.HasKey(utils.MetaLog) { + utils.Logger.Info( + fmt.Sprintf("<%s> LOG, Diameter reply: %s", + utils.DiameterAgent, agReq.Reply)) + } if reqType == utils.MetaDryRun { utils.Logger.Info( fmt.Sprintf("<%s> DRY_RUN, Diameter reply: %s", diff --git a/agents/libdiam.go b/agents/libdiam.go index a4d58f31b..1a4ea4523 100644 --- a/agents/libdiam.go +++ b/agents/libdiam.go @@ -280,7 +280,7 @@ type diameterDP struct { // String is part of engine.DataProvider interface // when called, it will display the already parsed values out of cache func (dP *diameterDP) String() string { - return utils.ToJSON(dP.cache) + return dP.cache.String() } // AsNavigableMap is part of engine.DataProvider interface diff --git a/data/conf/samples/diamagent/voice.json b/data/conf/samples/diamagent/voice.json index bf085e906..c29c07173 100644 --- a/data/conf/samples/diamagent/voice.json +++ b/data/conf/samples/diamagent/voice.json @@ -7,7 +7,7 @@ "id": "VoiceInit", "filters": ["*string:*vars.*cmd:CCR", "*string:*req.CC-Request-Type:1", "*prefix:*req.Service-Context-Id:voice"], - "flags": ["*initiate", "*accounts", "*attributes"], + "flags": ["*initiate", "*accounts", "*attributes", "*log"], "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*voice"}, {"tag": "OriginID", "field_id": "OriginID", "type": "*composed", @@ -35,7 +35,7 @@ "id": "VoiceUpdate", "filters": ["*string:*vars.*cmd:CCR", "*string:*req.CC-Request-Type:2", "*prefix:*req.Service-Context-Id:voice"], - "flags": ["*update", "*accounts", "*attributes"], + "flags": ["*update", "*accounts", "*attributes", "*log"], "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*voice"}, {"tag": "OriginID", "field_id": "OriginID", "type": "*composed", @@ -65,7 +65,7 @@ "id": "VoiceTerminate", "filters": ["*string:*vars.*cmd:CCR", "*string:*req.CC-Request-Type:3", "*prefix:*req.Service-Context-Id:voice"], - "flags": ["*terminate", "*accounts", "*attributes", "*cdrs"], + "flags": ["*terminate", "*accounts", "*attributes", "*cdrs", "*log"], "request_fields":[ {"tag": "TOR", "field_id": "ToR", "type": "*constant", "value": "*voice"}, {"tag": "OriginID", "field_id": "OriginID", "type": "*composed", diff --git a/utils/consts.go b/utils/consts.go index 41aedb7e1..1087de0e3 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -537,6 +537,7 @@ const ( CGRSubsystems = "cgr_subsystems" IdxStart = "[" IdxEnd = "]" + MetaLog = "*log" ) // Migrator Action