backing up
[vsorcdistro/.git] / ryu / build / lib.linux-armv7l-2.7 / ryu / services / protocols / bgp / api / rpc_log_handler.py
1 # Copyright (C) 2014 Nippon Telegraph and Telephone Corporation.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #    http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12 # implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 """
17  Defined log handler to be used to log to RPC connection.
18 """
19
20 import logging
21
22 from ryu.services.protocols.bgp.net_ctrl import NET_CONTROLLER
23 from ryu.services.protocols.bgp.net_ctrl import NOTIFICATION_LOG
24
25
26 class RpcLogHandler(logging.Handler):
27     """Outputs log records to `NET_CONTROLLER`."""
28
29     def emit(self, record):
30         msg = self.format(record)
31         NET_CONTROLLER.send_rpc_notification(
32             NOTIFICATION_LOG,
33             {
34                 'level': record.levelname,
35                 'msg': msg
36             }
37         )