702d080a1e
Google BK
29 lines
946 B
Python
29 lines
946 B
Python
import os
|
|
import json
|
|
from backup.logger import getLogger, StandardLogger
|
|
from injector import inject, singleton
|
|
from google.cloud import logging
|
|
from google.auth.exceptions import DefaultCredentialsError
|
|
|
|
basic_logger = getLogger(__name__)
|
|
|
|
|
|
@singleton
|
|
class CloudLogger(StandardLogger):
|
|
@inject
|
|
def __init__(self):
|
|
super().__init__(__name__)
|
|
self.google_logger = None
|
|
if os.environ.get('GOOGLE_APPLICATION_CREDENTIALS') is not None:
|
|
try:
|
|
google_logger_client = logging.Client()
|
|
self.googler_logger = google_logger_client.logger("refresh_server")
|
|
except DefaultCredentialsError:
|
|
basic_logger.error("Unable to start Google Logger, no default credentials")
|
|
|
|
def log_struct(self, data):
|
|
if self.google_logger is not None:
|
|
self.google_logger.log_struct(data)
|
|
else:
|
|
basic_logger.info(json.dumps(data))
|