blob: 762c57ee85be0a0e2fb7da83fa67f1c873c53b75 [file] [log] [blame]
subhash kumar singhe310e432021-08-03 00:23:32 +05301..
2.. Copyright (c) 2019 AT&T Intellectual Property.
3..
4.. Copyright (c) 2019 Nokia.
5..
6.. Copyright (c) 2021 Samsung
7..
8.. Licensed under the Creative Commons Attribution 4.0 International
9..
10.. Public License (the "License"); you may not use this file except
11..
12.. in compliance with the License. You may obtain a copy of the License at
13..
14..
15.. https://creativecommons.org/licenses/by/4.0/
16..
17..
18.. Unless required by applicable law or agreed to in writing, documentation
19..
20.. distributed under the License is distributed on an "AS IS" BASIS,
21..
22.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23..
24.. See the License for the specific language governing permissions and
25..
26.. limitations under the License.
27..
28.. This source code is part of the near-RT RIC (RAN Intelligent Controller)
29..
30.. platform project (RICP).
31..
32
33MDCLogger
34=========
35
36
37Usage
38-----
39
40The library can be used in as shown below.
41
42
43.. code:: bash
44
45 ```python
46 from ricappframe.logger.mdclogger import MDCLogger
47 my_logger = MDCLogger()
48 my_logger.mdclog_format_init(configmap_monitor=True)
49 my_logger.error("This is an error log")
50 ```
51
52A program can create several logger instances.
53
54mdclog_format_init() Adds the MDC log format with HostName, PodName, ContainerName, ServiceName,PID,CallbackNotifyforLogFieldChange
55
56Pass configmap_monitor = False in mdclog_format_init() function to stop dynamic log level change based on configmap.
57
58Logging Levels
59--------------
60.. code:: bash
61
62 """Severity levels of the log messages."""
63 DEBUG = 10
64 INFO = 20
65 WARNING = 30
66 ERROR = 40
67
68mdcLogger API's
69---------------
70
711. Set current logging level
72
73.. code:: bash
74
75 def set_level(self, level: Level):
76
77 Keyword arguments:
78 level -- logging level. Log messages with lower severity will be filtered.
79
802. Return the current logging level
81
82.. code:: bash
83
84 def get_level(self) -> Level:
85
863. Add a logger specific MDC
87
88.. code:: bash
89
90 def add_mdc(self, key: str, value: Value):
91
92 Keyword arguments:
93 key -- MDC key
94 value -- MDC value
95
964. Return logger's MDC value with the given key or None
97
98.. code:: bash
99
100 def get_mdc(self, key: str) -> Value:
101
1025. Remove logger's MDC with the given key
103
104.. code:: bash
105
106 def remove_mdc(self, key: str):
107
1086. Remove all MDCs of the logger instance.
109
110.. code:: bash
111
112 def clean_mdc(self):
113
114
1157. Initialise Logging format:
116
117This api Initialzes mdclog print format using MDC Dictionary by extracting the environment variables in the calling process for “SYSTEM_NAME”, “HOST_NAME”, “SERVICE_NAME”, “CONTAINER_NAME”, “POD_NAME” & “CONFIG_MAP_NAME” mapped to HostName, ServiceName, ContainerName, Podname and Configuration-file-name of the services respectively.
118
119
120.. code:: bash
121
122 def mdclog_format_init(configmap_monitor=False):
123
124 Keyword arguments:
125 configmap_monitor -- Enables/Disables Dynamic log level change based on configmap
126 -- Boolean values True/False can be passed as per requirement.
127
128