Ejemplo n.º 1
0
    def start(self):
        # remove all handlers
        self.handlers = []

        # sentry log handler
        sentry_client = raven.Client('https://*****:*****@sentry.sickrage.ca/4?verify_ssl=0', release=sickrage.version(),
                                     repos={'sickrage': {'name': 'sickrage/sickrage'}})

        sentry_handler = SentryHandler(client=sentry_client, tags={'platform': platform.platform()})
        sentry_handler.setLevel(self.logLevels['ERROR'])
        sentry_handler.set_name('sentry')
        self.addHandler(sentry_handler)

        # console log handler
        if self.consoleLogging:
            console_handler = logging.StreamHandler()
            formatter = logging.Formatter('%(asctime)s %(levelname)s::%(threadName)s::%(message)s', '%H:%M:%S')

            console_handler.setFormatter(formatter)
            console_handler.setLevel(self.logLevels['INFO'] if not self.debugLogging else self.logLevels['DEBUG'])
            self.addHandler(console_handler)

        # file log handlers
        if self.logFile:
            # make logs folder if it doesn't exist
            if not os.path.exists(os.path.dirname(self.logFile)):
                if not makeDir(os.path.dirname(self.logFile)):
                    return

            if sickrage.app.developer:
                rfh = FileHandler(
                    filename=self.logFile,
                )
            else:
                rfh = RotatingFileHandler(
                    filename=self.logFile,
                    maxBytes=self.logSize,
                    backupCount=self.logNr
                )

            rfh_errors = RotatingFileHandler(
                filename=self.logFile.replace('.log', '.error.log'),
                maxBytes=self.logSize,
                backupCount=self.logNr
            )

            formatter = logging.Formatter('%(asctime)s %(levelname)s::%(threadName)s::%(message)s', '%Y-%m-%d %H:%M:%S')

            rfh.setFormatter(formatter)
            rfh.setLevel(self.logLevels['INFO'] if not self.debugLogging else self.logLevels['DEBUG'])
            self.addHandler(rfh)

            rfh_errors.setFormatter(formatter)
            rfh_errors.setLevel(self.logLevels['ERROR'])
            self.addHandler(rfh_errors)
Ejemplo n.º 2
0
 def _sentry_handler(sentry_key=None, obci_peer=None):
     try:
         client = OBCISentryClient(sentry_key, obci_peer=obci_peer, auto_log_stacks=True)
     except ValueError as e:
         print('logging setup: initializing sentry failed - ', e.args)
         return None
     handler = SentryHandler(client)
     handler.set_name('sentry_handler')
     setup_logging(handler)
     return handler
Ejemplo n.º 3
0
def initialize_sentry_logging(sentry_credentials,
                              logging_level,
                              logging_root=''):

    the_logger = logging.getLogger(logging_root)
    client = Client(
        'http://{s.username}:{s.password}@{s.url}/{s.project}'.format(
            s=sentry_credentials))
    sentry_handler = SentryHandler(client)
    sentry_handler.setLevel(logging_level)
    sentry_handler.setFormatter(logging.Formatter(LOG_FORMAT))
    sentry_handler.set_name('SentryHandler')
    remove_handler_if_existing(sentry_handler, logging_root)
    the_logger.handlers.append(sentry_handler)
Ejemplo n.º 4
0
    def start(self):
        # remove all handlers
        self.handlers.clear()

        sentry_ignore_exceptions = [
            'KeyboardInterrupt',
            'PermissionError',
            'FileNotFoundError',
            'EpisodeNotFoundException'
        ]

        # sentry log handler
        sentry_client = raven.Client(
            'https://[email protected]/2?verify_ssl=0',
            release=sickrage.version(),
            repos={'sickrage': {'name': 'sickrage/sickrage'}},
            ignore_exceptions=sentry_ignore_exceptions
        )

        sentry_tags = {
            'platform': platform.platform(),
            'locale': locale.getdefaultlocale(),
            'python': platform.python_version()
        }

        if sickrage.app.config and sickrage.app.config.sub_id:
            sentry_tags.update({'sub_id': sickrage.app.config.sub_id})
        if sickrage.app.config and sickrage.app.config.server_id:
            sentry_tags.update({'server_id': sickrage.app.config.server_id})

        sentry_handler = SentryHandler(client=sentry_client, ignore_exceptions=sentry_ignore_exceptions, tags=sentry_tags)

        sentry_handler.setLevel(self.logLevels['ERROR'])
        sentry_handler.set_name('sentry')
        self.addHandler(sentry_handler)

        # console log handler
        if self.consoleLogging:
            console_handler = logging.StreamHandler()
            formatter = logging.Formatter('%(asctime)s %(levelname)s::%(threadName)s::%(message)s', '%H:%M:%S')

            console_handler.setFormatter(formatter)
            console_handler.setLevel(self.logLevels['INFO'] if not self.debugLogging else self.logLevels['DEBUG'])
            self.addHandler(console_handler)

        # file log handlers
        if self.logFile:
            # make logs folder if it doesn't exist
            if not os.path.exists(os.path.dirname(self.logFile)):
                if not make_dir(os.path.dirname(self.logFile)):
                    return

            if sickrage.app.developer:
                rfh = FileHandler(
                    filename=self.logFile,
                )
            else:
                rfh = RotatingFileHandler(
                    filename=self.logFile,
                    maxBytes=self.logSize,
                    backupCount=self.logNr
                )

            rfh_errors = RotatingFileHandler(
                filename=self.logFile.replace('.log', '.error.log'),
                maxBytes=self.logSize,
                backupCount=self.logNr
            )

            formatter = logging.Formatter('%(asctime)s %(levelname)s::%(threadName)s::%(message)s', '%Y-%m-%d %H:%M:%S')

            rfh.setFormatter(formatter)
            rfh.setLevel(self.logLevels['INFO'] if not self.debugLogging else self.logLevels['DEBUG'])
            self.addHandler(rfh)

            rfh_errors.setFormatter(formatter)
            rfh_errors.setLevel(self.logLevels['ERROR'])
            self.addHandler(rfh_errors)
Ejemplo n.º 5
0
                    data['extra']['data'].update(up)
                else:
                    data['extra']['data'] = up

            return data

    def _sentry_handler(sentry_key=None, obci_peer=None):
        try:
            client = OBCISentryClient(sentry_key,
                                      obci_peer=obci_peer,
                                      auto_log_stacks=True)
        except ValueError, e:
            print('logging setup: initializing sentry failed - ', e.args)
            return None
        handler = SentryHandler(client)
        handler.set_name('sentry_handler')
        setup_logging(handler)
        return handler


# print("logging setup: found raven and sentry key - %s" % USE_SENTRY)


def console_formatter():
    return logging.Formatter(
        "%(asctime)s - %(name)s - %(levelname)s - %(message)s")


def file_formatter():
    return logging.Formatter(
        "%(asctime)s - %(name)s - %(filename)s:%(lineno)d - %(levelname)s - %(message)s"
Ejemplo n.º 6
0
                up = self.peer._crash_extra_data()
                if dt:
                    data['extra']['data'].update(up)
                else:
                    data['extra']['data'] = up

            return data

    def _sentry_handler(sentry_key=None, obci_peer=None):
        try:
            client = OBCISentryClient(sentry_key, obci_peer=obci_peer, auto_log_stacks=True)
        except ValueError, e:
            print('logging setup: initializing sentry failed - ', e.args)
            return None
        handler = SentryHandler(client)
        handler.set_name('sentry_handler')
        setup_logging(handler)
        return handler


# print("logging setup: found raven and sentry key - %s" % USE_SENTRY)

def console_formatter():
    return logging.Formatter(
                    "%(asctime)s - %(name)s - %(levelname)s - %(message)s")

def file_formatter():
    return logging.Formatter(
                    "%(asctime)s - %(name)s - %(filename)s:%(lineno)d - %(levelname)s - %(message)s")

def mx_formatter():
Ejemplo n.º 7
0
    def start(self):
        # remove all handlers
        self.handlers = []

        # sentry log handler
        sentry_client = raven.Client(
            'https://*****:*****@sentry.sickrage.ca/4?verify_ssl=0',
            release=sickrage.version(),
            repos={'sickrage': {
                'name': 'sickrage/sickrage'
            }})

        sentry_handler = SentryHandler(client=sentry_client,
                                       tags={'platform': platform.platform()})
        sentry_handler.setLevel(self.logLevels['ERROR'])
        sentry_handler.set_name('sentry')
        self.addHandler(sentry_handler)

        # console log handler
        if self.consoleLogging:
            console_handler = logging.StreamHandler()
            formatter = logging.Formatter(
                '%(asctime)s %(levelname)s::%(threadName)s::%(message)s',
                '%H:%M:%S')

            console_handler.setFormatter(formatter)
            console_handler.setLevel(self.logLevels['INFO'] if not self.
                                     debugLogging else self.logLevels['DEBUG'])
            self.addHandler(console_handler)

        # file log handlers
        if self.logFile:
            # make logs folder if it doesn't exist
            if not os.path.exists(os.path.dirname(self.logFile)):
                if not makeDir(os.path.dirname(self.logFile)):
                    return

            if sickrage.app.developer:
                rfh = FileHandler(filename=self.logFile, )
            else:
                rfh = RotatingFileHandler(filename=self.logFile,
                                          maxBytes=self.logSize,
                                          backupCount=self.logNr)

            rfh_errors = RotatingFileHandler(filename=self.logFile.replace(
                '.log', '.error.log'),
                                             maxBytes=self.logSize,
                                             backupCount=self.logNr)

            formatter = logging.Formatter(
                '%(asctime)s %(levelname)s::%(threadName)s::%(message)s',
                '%Y-%m-%d %H:%M:%S')

            rfh.setFormatter(formatter)
            rfh.setLevel(self.logLevels['INFO']
                         if not self.debugLogging else self.logLevels['DEBUG'])
            self.addHandler(rfh)

            rfh_errors.setFormatter(formatter)
            rfh_errors.setLevel(self.logLevels['ERROR'])
            self.addHandler(rfh_errors)
Ejemplo n.º 8
0
    def start(self):
        # remove all handlers
        self.handlers = []

        # sentry log handler
        sentry_client = raven.Client(
            'https://*****:*****@sentry.sickrage.ca/5?verify_ssl=0',
            release=sickrage.version(),
            repos={'sickrage': {
                'name': 'sickrage/sickrage'
            }})

        sentry_tags = {
            'platform': platform.platform(),
            'locale': sys.getdefaultencoding(),
            'python': sys.version_info
        }

        if sickrage.app.config and sickrage.app.config.sub_id:
            sentry_tags.update({'sub_id': sickrage.app.config.sub_id})
        if sickrage.app.config and sickrage.app.config.app_id:
            sentry_tags.update({'app_id': sickrage.app.config.app_id})

        sentry_handler = SentryHandler(client=sentry_client, tags=sentry_tags)

        sentry_handler.setLevel(self.logLevels['ERROR'])
        sentry_handler.set_name('sentry')
        self.addHandler(sentry_handler)

        # console log handler
        if self.consoleLogging:
            console_handler = logging.StreamHandler()
            formatter = logging.Formatter(
                '%(asctime)s %(levelname)s::%(threadName)s::%(message)s',
                '%H:%M:%S')

            console_handler.setFormatter(formatter)
            console_handler.setLevel(self.logLevels['INFO'] if not self.
                                     debugLogging else self.logLevels['DEBUG'])
            self.addHandler(console_handler)

        # file log handlers
        if self.logFile:
            # make logs folder if it doesn't exist
            if not os.path.exists(os.path.dirname(self.logFile)):
                if not make_dir(os.path.dirname(self.logFile)):
                    return

            if sickrage.app.developer:
                rfh = FileHandler(filename=self.logFile, )
            else:
                rfh = RotatingFileHandler(filename=self.logFile,
                                          maxBytes=self.logSize,
                                          backupCount=self.logNr)

            rfh_errors = RotatingFileHandler(filename=self.logFile.replace(
                '.log', '.error.log'),
                                             maxBytes=self.logSize,
                                             backupCount=self.logNr)

            formatter = logging.Formatter(
                '%(asctime)s %(levelname)s::%(threadName)s::%(message)s',
                '%Y-%m-%d %H:%M:%S')

            rfh.setFormatter(formatter)
            rfh.setLevel(self.logLevels['INFO']
                         if not self.debugLogging else self.logLevels['DEBUG'])
            self.addHandler(rfh)

            rfh_errors.setFormatter(formatter)
            rfh_errors.setLevel(self.logLevels['ERROR'])
            self.addHandler(rfh_errors)