Beispiel #1
0
    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"
Beispiel #2
0
    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"
Beispiel #3
0
    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,
        )
Beispiel #4
0
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,
    )
Beispiel #5
0
 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!")
Beispiel #7
0
    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"
Beispiel #8
0
    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"
Beispiel #9
0
    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 == ""
Beispiel #10
0
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)