Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Created logging manager
  • Loading branch information
Javinator9889 committed Jun 28, 2018
1 parent 876d5f6 commit 9339b7e
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 34 deletions.
86 changes: 53 additions & 33 deletions App/.idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 8 additions & 1 deletion App/application.py
Expand Up @@ -88,18 +88,25 @@ def main(arguments: Namespace):
else:
cPrint("Initializing bot...", Colors.GREEN)
cPrint("Looking for packages updates...", Colors.GREEN)

upgrader = PiPUpgrader("requirements.txt")
upgrader.upgradePackages()

cPrint("Obtaining values...", Colors.GREEN)
with open("app_data.dict", "rb") as app_data_file:
app_data = pickle.load(app_data_file)

cPrint("Starting database system...", Colors.GREEN)
db_manager = DatabaseOperationsBase(username=database_user, password=database_password)

cPrint("Defining handlers...", Colors.GREEN)
handler_definer()
handlers = handler_definer()
updater = Updater(token=app_data["TOKEN"], workers=50)
dispatcher = updater.dispatcher
for handler in handlers:
dispatcher.add_handler(handler)

cPrint("Defining log...", Colors.GREEN)
logging.basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG)
try:
Expand Down
37 changes: 37 additions & 0 deletions App/utils/logger.py
@@ -0,0 +1,37 @@
import logging


def setup_logging(logger_name: str, log_file: str=None, level: logging=logging.DEBUG, logging_format: str=None):
if logging_format is None:
logging_format = "%(asctime)s | %(name)s | [%(levelname)s]: %(message)s"
if log_file is None:
__setup_logging_no_file(logger_name, level, logging_format)
else:
new_logging = logging.getLogger(logger_name)
logging_formatter = logging.Formatter(logging_format)
logging_file_handler = logging.FileHandler(log_file, mode='w')

logging_file_handler.setFormatter(logging_formatter)

new_logging.setLevel(level)
new_logging.addHandler(logging_file_handler)
__cleanup_old_logs(new_logging, log_file)


def __setup_logging_no_file(logger_name: str, level: logging=logging.DEBUG, logging_format: str=None):
if logging_format is None:
raise ValueError("The first time a logger is created, the logging format cannot be None")
new_logging = logging.getLogger(logger_name)
logging_formatter = logging.Formatter(logging_format)
logging_console_handler = logging.StreamHandler()

logging_console_handler.setFormatter(logging_formatter)

new_logging.setLevel(level)
new_logging.addHandler(logging_console_handler)


def __cleanup_old_logs(logger: logging.Logger, filename: str):
from logging import handlers
rotating_handler = handlers.RotatingFileHandler(filename, maxBytes=2048, backupCount=5)
logger.addHandler(rotating_handler)

0 comments on commit 9339b7e

Please sign in to comment.