Commit 01ec71dc authored by Zolnierczuk, Piotr's avatar Zolnierczuk, Piotr
Browse files

Merge branch 'devel' into dev/filetypes

parents e7fbfa13 43942937
Loading
Loading
Loading
Loading
+20 −28
Original line number Diff line number Diff line
@@ -44,40 +44,32 @@ def get_loglevel(level):
    return _LOG_LEVELS.get(level, logging.INFO)


def setup_logger_standard(level=DEFAULT_LOG_LEVEL, filename=None):
def setup_logger(level=DEFAULT_LOG_LEVEL, filename=None, detail=False):
    "setup logger"
    loglevel = get_loglevel(level)
    #
    log_format=r'%(message)s'
    if loglevel<logging.INFO or filename is not None:
        log_format=r'%(levelname)s: %(funcName)s: %(message)s'
    logging.basicConfig(filename=filename, level=loglevel, format=log_format)
    log = logging.getLogger()
    return log

def setup_logger_detail(level=DEFAULT_LOG_LEVEL, filename=None):
    "setup logger"
    loglevel = get_loglevel(level)

    log = logging.getLogger()
    log.setLevel(loglevel)

    #
    if detail:
        stream_handler = logging.StreamHandler()
        stream_handler.setLevel(loglevel)
    stream_formatter = logging.Formatter('%(message)s')
        stream_formatter = logging.Formatter('%(name)s | %(message)s')
        stream_handler.setFormatter(stream_formatter)
        log.addHandler(stream_handler)

        if filename:
            file_handler   = logging.FileHandler(filename=filename)
            file_formatter = logging.Formatter('%(asctime)s | %(name)s |  %(levelname)s: %(message)s')
            file_handler.setFormatter(file_formatter)
            file_handler.setLevel(loglevel)

    log.addHandler(stream_handler)
            log.addHandler(file_handler)

    else:
        log_format=r'%(message)s'
        if loglevel<logging.INFO or filename is not None:
            log_format=r'%(levelname)s: %(funcName)s: %(message)s'
        logging.basicConfig(filename=filename, level=loglevel, format=log_format)
    return log

setup_logger = setup_logger_standard

def dictionary_hash(arg):
    "compute object hash"

test/test_misc.py

0 → 100755
+55 −0
Original line number Diff line number Diff line
"""
Python unit test cases for misc module
"""

import unittest
import logging


import numpy as np

import pysen.misc as pmi


class MiscTestCase(unittest.TestCase):
    "Misc Test Cases"
    def setUp(self):
        log = logging.getLogger()
        for handler in list(log.handlers):
            log.removeHandler(handler)
            handler.close()
        log.setLevel(logging.NOTSET)
        log.propagate = True


    def tearDown(self):
        pass

    def test_getloglevel(self):
        "test getloglevel"

        self.assertEqual(logging.ERROR,   pmi.get_loglevel("ERROR"),   "ERROR")
        self.assertEqual(logging.WARNING, pmi.get_loglevel("WARNING"), "WARNING")
        self.assertEqual(logging.INFO,    pmi.get_loglevel("INFO"),    "INFO")
        self.assertEqual(logging.DEBUG,   pmi.get_loglevel("DEBUG"),   "DEBUG")
        self.assertEqual(logging.DEBUG,   pmi.get_loglevel("TRACE"),   "TRACE")

        self.assertEqual(logging.ERROR,   pmi.get_loglevel(pmi.ERROR),   "ERROR")
        self.assertEqual(logging.WARNING, pmi.get_loglevel(pmi.WARNING), "WARNING")
        self.assertEqual(logging.INFO,    pmi.get_loglevel(pmi.INFO),    "INFO")
        self.assertEqual(logging.DEBUG,   pmi.get_loglevel(pmi.DEBUG),   "DEBUG")
        self.assertEqual(logging.DEBUG,   pmi.get_loglevel(pmi.TRACE),   "TRACE")

    def test_setup_logger1(self):
        "test setup logger plain"
        log = pmi.setup_logger(level=pmi.DEBUG, filename='test.log')
        log.info('plain info test')

    def test_setup_logger2(self):
        "test setup logger plain"
        log = pmi.setup_logger(level=pmi.DEBUG, filename='test.log', detail=True)
        log.info('detail info test')


if __name__ == "__main__":
    unittest.main(exit=False, verbosity=2)