Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def setup_logger(logger_dir, name="logger"):
os.environ['TZ'] = 'Africa/Johannesburg'
time.tzset()
daiquiri_formatter = daiquiri.formatter.ColorFormatter(
fmt= "%(asctime)s %(color)s%(levelname)s: %(message)s%(color_stop)s",
datefmt="%Y-%m-%d %H:%M:%S")
logger_path = os.path.join(logger_dir, name)
daiquiri.setup(level=logging.INFO, outputs=(
daiquiri.output.Stream(formatter=daiquiri_formatter),
daiquiri.output.File(logger_path,formatter=daiquiri_formatter),
))
"""
if isinstance(td, numbers.Real):
td = datetime.timedelta(seconds=td)
return td.total_seconds()
class Stream(Output):
"""Generic stream output."""
def __init__(self, stream=sys.stderr, formatter=formatter.TEXT_FORMATTER,
level=None):
super(Stream, self).__init__(handlers.TTYDetectorStreamHandler(stream),
formatter, level)
STDERR = Stream()
STDOUT = Stream(sys.stdout)
class Journal(Output):
def __init__(self, program_name=None,
formatter=formatter.TEXT_FORMATTER, level=None):
program_name = program_name or get_program_name
super(Journal, self).__init__(handlers.JournalHandler(program_name),
formatter, level)
class Syslog(Output):
def __init__(self, program_name=None, facility="user",
formatter=formatter.TEXT_FORMATTER, level=None):
if syslog is None:
# FIXME(jd) raise something more specific
def setup_logging():
outputs = []
if config.LOG_STDOUT:
outputs.append(
daiquiri.output.Stream(
sys.stdout, formatter=CustomFormatter(fmt=CELERY_EXTRAS_FORMAT)
)
)
if config.LOG_JSON_FILE:
outputs.append(
daiquiri.output.TimedRotatingFile(
filename=config.LOG_JSON_FILE,
level=logging.DEBUG,
interval=datetime.timedelta(seconds=5),
backup_count=48,
formatter=daiquiri.formatter.JSON_FORMATTER,
)
)
daiquiri.setup(