def _syslog_log_handler(config, hostname): host = config('syslog_server') port = int(config('syslog_server_port')) if config('syslog_server_protocol').lower() == 'tcp': socktype = SOCK_STREAM else: socktype = SOCK_DGRAM log_format = config('syslog_format') facility = config('syslog_facility') handler = SysLogHandler( (host, port), SysLogHandler.facility_names[facility], socktype=socktype, ) log_format = log_format.format(time='%(asctime)s.%(msecs)d+00:00', sensor_hostname=hostname, facility=facility, priority='%(levelname)s', message='%(message)s') SYSLOG_DATE_FORMAT = '%Y-%m-%dT%H:%M:%S' handler.formatter = Formatter(log_format, datefmt=SYSLOG_DATE_FORMAT) handler.formatter.converter = gmtime # UTC return handler
def get_logger(name): formatter = logging.Formatter('{} {}'.format(name, FORMAT)) logging.basicConfig(level=logging.INFO, format=FORMAT) logger = logging.getLogger(name) try: addr = config.syslogaddr.strip('"') port = int(config.syslogport.strip('"')) handler = SysLogHandler(address=(addr, port)) handler.formatter = formatter logger.addHandler(handler) except Exception as e: try: handler = SysLogHandler() handler.formatter = formatter logger.addHandler(handler) except Exception as e: pass return logger
def initlog(tag, level=config.LOG_LEVEL): syslogHander = SysLogHandler(address='/dev/log') formatter = logging.Formatter( tag + '[%(process)d]: %(levelname)s %(filename)s[line:%(lineno)d] %(message)s' ) syslogHander.formatter = formatter streamHandler = logging.StreamHandler() logging.basicConfig( level=level, format='%(asctime)s ' + tag + '[%(process)d]: %(levelname)s %(filename)s[line:%(lineno)d] %(message)s', datefmt='%Y-%m-%d %H:%M:%S', handlers=[syslogHander, streamHandler])
def create_logger( name, level="info", fmt="%(asctime)s %(levelname)s %(name)s: %(message)s", datefmt="%Y-%m-%d %H:%M:%S", add_console_handler=True, add_sys_handler=True, ): """Create a formatted logger Args: fmt: Format of the log message datefmt: Datetime format of the log message Examples: logger = create_logger(__name__, level="info") logger.info("Hello world") """ level = { "debug": logging.DEBUG, "info": logging.INFO, "warn": logging.WARN, "error": logging.ERROR, }[level] logger = logging.getLogger(name) logger.setLevel(level) if add_console_handler: # Output to stdout ch = logging.StreamHandler() ch.setLevel(level) chformatter = logging.Formatter(fmt=fmt, datefmt=datefmt) ch.setFormatter(chformatter) logger.addHandler(ch) if add_sys_handler: # Output to syslog sh = SysLogHandler("/dev/log") # add syslog format to the handler formatter = logging.Formatter( fmt= 'Python: { "loggerName":"%(name)s", "timestamp":"%(asctime)s", "pathName":"%(pathname)s", ' '"logRecordCreationTime":"%(created)f", "functionName":"%(funcName)s", "levelNo":"%(levelno)s"' ', "lineNo":"%(lineno)d", "time":"%(msecs)d", "levelName":"%(levelname)s", "message":"%(message)s"}', datefmt=datefmt, ) sh.formatter = formatter logger.addHandler(sh) return logger
def _syslog_log_handler(config, hostname): host = config('syslog_server') port = int(config('syslog_server_port')) log_format = config('syslog_format') facility = config('syslog_facility') handler = SysLogHandler((host, port), SysLogHandler.facility_names[facility]) log_format = log_format.format( time='%(asctime)s.%(msecs)d+00:00', sensor_hostname=hostname, facility=facility, priority='%(levelname)s', message='%(message)s' ) SYSLOG_DATE_FORMAT = '%Y-%m-%dT%H:%M:%S' handler.formatter = Formatter(log_format, datefmt=SYSLOG_DATE_FORMAT) handler.formatter.converter = gmtime # UTC return handler
import logging from service import schema from kubos_service.config import Config from logging.handlers import SysLogHandler import sys config = Config("example-service") # Setup logging logger = logging.getLogger("example-service") logger.setLevel(logging.DEBUG) handler = SysLogHandler(address='/dev/log', facility=SysLogHandler.LOG_DAEMON) formatter = logging.Formatter('example-service: %(message)s') handler.formatter = formatter logger.addHandler(handler) # Set up a handler for logging to stdout stdout = logging.StreamHandler(stream=sys.stdout) stdout.setFormatter(formatter) logger.addHandler(stdout) from kubos_service import http_service # Start an http service http_service.start(config, schema.schema) #from kubos_service import udp_service # Start a udp service with optional context # udp_service.start(config, schema, {'bus': '/dev/ttyS3'})
#!/usr/bin/python ''' Look for all the git folders in source and fetch or clone them to the destination ''' import os import subprocess import logging from logging.handlers import SysLogHandler syslog_handler = SysLogHandler(address='/var/run/syslog') syslog_handler.formatter = logging.Formatter( 'git-copy: %(levelname)s %(message)s') stream_handler = logging.StreamHandler() stream_handler.formatter = logging.Formatter( '%(asctime)s %(levelname)s %(message)s') logging.basicConfig(level=logging.INFO, handlers=[syslog_handler, stream_handler]) def list_git_root(source_dir): for root, dirs, files in os.walk(source_dir): parent, simple_dir = os.path.split(root) for x in [ '.Trash', 'tmp', 'ThirdParty', 'Caches', 'Google Drive', 'Object Arts', '.cocoapods', 'Dropbox', '.build', "Wineskin", "SyncServices", ".cache", ".local", ".cookiecutters", "Aquamacs Emacs/Packages", ".emacs.d/straight/repos" ]: if x in dirs:
def __init__(self): """ Initialize the hardware when the service starts """ # Setup logging self.logger = logging.getLogger(self.app_name) self.logger.setLevel(logging.DEBUG) handler = SysLogHandler(address='/dev/log', facility=SysLogHandler.LOG_DAEMON) formatter = logging.Formatter('{}[%(process)d]: %(message)s'.format( self.app_name)) handler.formatter = formatter self.logger.addHandler(handler) # Get the configuration options for the service out of the `config.toml` file config = Config(self.app_name) sensor1_bus = config.raw['device']['bus1'] sensor2_bus = config.raw['device']['bus2'] # Create the sensor objects self.sensor1 = vcnl4040(sensor1_bus) self.sensor2 = vcnl4040(sensor2_bus) # Report settings print('\n--- Sensor 1 ---') print('I2C bus: ', self.sensor1.bus) print('I2C slave address: ', self.sensor1.addr) print('\n--- Sensor 2 ---') print('I2C bus: ', self.sensor2.bus) print('I2C slave address: ', self.sensor2.addr) self.telemetry = Telemetry(connected=self.noop(), power_on=False, integration_time=0, sensor1_value=0, sensor2_value=0, angle_of_arrival=0) print('\n--- Initializing ---') print('Power off proximity sensor 1: ', self.sensor1.powerOffProximity()) print('Power off ambient sensor 1: ', self.sensor1.powerOffAmbient()) print( 'Set ambient integration time: ', self.sensor1.setAmbientIntegrationTime(self.getIntegrationFlag())) print('Power off proximity sensor 2: ', self.sensor2.powerOffProximity()) print('Power off ambient sensor 2: ', self.sensor2.powerOffAmbient()) print( 'Set ambient integration time: ', self.sensor2.setAmbientIntegrationTime(self.getIntegrationFlag())) time.sleep(0.25) self.logger.info('Starting DORA sensor service') self.logger.info('Listening on: {}:{}'.format(config.ip, config.port)) self.logger.info( 'Using i2c bus {} for sensor 1 and bus {} for sensor 2'.format( self.sensor1.bus, self.sensor2.bus)) self.start_time = datetime.datetime.now()