This repository has been archived on 2023-04-13. You can view files and clone it, but cannot push or open issues or pull requests.
pylogger/src/lib/Log.py

35 lines
896 B
Python

import datetime
import time
import inspect
from .LogLevels import Level
class Log:
def __init__(self, level: Level, text: str, *args, _class=None, _file=inspect.stack()[1].filename):
"""
Create a log message.
"""
self.level = level
self.text = text
self.args = args
self.created_on = time.time()
self.file = _file
self._class = _class
def format_time(self, fmt: str):
return datetime.datetime.fromtimestamp(self.created_on).strftime(fmt)
def class_str(self):
if self._class:
prefix = f'{type(self._class).__name__}'
if hasattr(self._class, 'name'):
prefix += ":"
prefix += self._class.name
return prefix
else:
return None
def format_text(self):
return f'{self.text.format(*self.args)}'