sonic-buildimage/platform/broadcom/sonic-platform-modules-ragile/common/lib/rgutil/logutil.py
pettershao-ragilenetworks b30cf44b93
[Platform/Ragile] Support RA-B6510-48v8c platform (#7620)
Add new platform x86_64-ragile_ra-b6510-48v8c-r0
ASIC Vendor: Broadcom
Switch ASIC: Trident 3
Port Config: 48x25G+8x100G

Signed-off-by: pettershao-ragilenetworks <pettershao@ragilenetworks.com>
2021-06-03 10:51:01 -07:00

68 lines
1.7 KiB
Python

# -*- coding: UTF-8 -*-
import logging
from syslog import (
syslog,
openlog,
LOG_WARNING,
LOG_CRIT,
LOG_DEBUG,
LOG_ERR,
LOG_PID,
LOG_INFO,
)
class Logger():
def __init__(self, prefix, filepath=None, syslog=False, dbg_mask=0x0):
self.logger = None
if syslog is False:
if filepath is None:
raise AttributeError("filepath needed")
# init logging
formatter = logging.Formatter( "%(asctime)s %(levelname)s %(filename)s[%(funcName)s][%(lineno)s]: %(message)s")
handler = logging.FileHandler(self.filepath)
handler.setFormatter(formatter)
self.logger = logging.getLogger(__name__)
self.logger.setLevel(logging.DEBUG)
self.logger.addHandler(handler)
self.prefix = prefix
self.use_syslog = syslog
self.dbg_mask = dbg_mask
def info(self, s):
if self.use_syslog:
self._syslog(s, LOG_INFO)
else:
self.logger.info(s)
def debug(self, dbg_lvl, s):
if dbg_lvl & self.dbg_mask:
if self.use_syslog:
self._syslog(s, LOG_DEBUG)
else:
self.logger.debug(s)
def warn(self, s):
if self.use_syslog:
self._syslog(s, LOG_WARNING)
else:
self.logger.warning(s)
def error(self, s):
if self.use_syslog:
self._syslog(s, LOG_ERR)
else:
self.logger.error(s)
def crit(self, s):
if self.use_syslog:
self._syslog(s, LOG_CRIT)
else:
self.logger.critical(s)
def _syslog(self, s, t):
openlog(self.prefix, LOG_PID)
syslog(t, s)