def test_value_is_callable(): # pylint: disable=W0612 logger = Logger("test", handler=handler, template="{foo}: {message}") func = lambda: "yay!" logger.info("from lambda", foo=func) output = get_output() assert output == "yay!: from lambda\n"
def test_default_provided(): # pylint: disable=W0612 logger = Logger("test", handler=handler, template="{foo}: {message}", foo="bar") logger.info("ok") output = get_output() assert output == "bar: ok\n"
def method_level_gte_logger_level(): # pylint: disable=W0612 logger = Logger("test", level=LogLevel.INFO, handler=handler) logger.info("this should print") output = get_output() assert re.match( r"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6} INFO test: this should print\n", output, )
def test_exception_capturing(): logger = Logger("test", handler=handler, template="{level} {name}: {message}") try: 1 / 0 except ZeroDivisionError: logger.exception("caught") output = get_output() assert re.match( r"ERROR test: caught\nTraceback \(most recent call last\):\n File .+\n 1 / 0\nZeroDivisionError: division by zero", output, )
def setup_logging(self): log_writer = None log_writer_class = self.ini.get("DEFAULT", "logger_class", None) if log_writer_class: if log_writer_class == "SyslogWriter": facility = self.ini.get("DEFAULT", "syslog_facility", None) priority = self.ini.get("DEFAULT", "syslog_priority", None) log_writer = SyslogWriter(facility=facility, priority=priority) elif log_writer_class == "ConsoleWriter": output = self.ini.get("DEFAULT", "console_output", "stdout") log_writer = ConsoleWriter(output=output) else: log_writer = FileWriter(self.home_dir) else: #log_writer = FileWriter(self.home_dir) log_writer = FileWriter('/var/log/glideinwms-pilot') self.log = Logger(log_writer) self.log.log_info("Pilot Launcher started...")
if line.strip() != "": c.execute("INSERT INTO names VALUES(?);", [line.strip()]) count += 1 log.debug("Added {} names.".format(count)) rows = c.execute("SELECT * FROM names;") found_count = 0 for row in rows: found_count += 1 log.debug("Found {} names.".format(found_count)) db.commit() c.close() log.debug("All changes committed.") if count != found_count: log.warn( "Looks like some names have not gotten added. Perhaps duplicates? This should be investigated.") log.success("Database created and set up successfully!") return True if __name__ == '__main__': log = Logger('db_setup', log_folder=Path(LOG_FOLDER).resolve(), log_level='info', output_level='debug') success = setup_db(log) if success: log.debug("Success!") else: log.error("Could not setup database!")
def test_value_not_provided(): # pylint: disable=W0612 logger = Logger("test", handler=handler, template="{foo}: {message}") logger.info("not provided") output = get_output() assert output == "\b: not provided\n"
def test_value_provided_in_log_call(): # pylint: disable=W0612 logger = Logger("test", handler=handler, template="{foo}: {message}") logger.info("ok", foo="baz") output = get_output() assert output == "baz: ok\n"
def method_level_lt_logger_level(): # pylint: disable=W0612 logger = Logger("test", level=LogLevel.INFO, handler=handler) logger.debug("this shouldn't print") output = get_output() assert output == ""
from pathlib import Path import sys, os import traceback import psycopg2 import discord from discord.ext import commands from discord.ext.commands import has_role import discord.ext.commands.errors as discord_errors import typing from simple_logging import Logger from db_setup import setup_db from config import * log = Logger('ug_bot', log_folder=Path(LOG_FOLDER).resolve(), log_level='debug', output_level='debug') log.debug("Loaded all modules.") log.info("Starting the bot...") if not setup_db(log): log.error("Unable to setup the database.") sys.exit(1) DB_URL = os.environ['DATABASE_URL'] db = psycopg2.connect(DB_URL) log.debug("Connected to database.") TOKEN = os.environ['DISCORD_TOKEN'] log.info("Token:", TOKEN)