def fatal(self, *args, **kwargs):
self._level_write(logging.FATAL, *args, **kwargs)
raise SystemExit(1)
python类FATAL的实例源码
def fatal(self, msg, *args, **kw):
self.log(self.FATAL, msg, *args, **kw)
def fatal(self, msg, *args, **kw):
self.log(self.FATAL, msg, *args, **kw)
def fatal(self, *args, **kwargs):
self._level_write(logging.FATAL, *args, **kwargs)
raise SystemExit(1)
def fatal(self, msg, *args, **kw):
self.log(self.FATAL, msg, *args, **kw)
def get_logging_level(MESSAGELEVEL=None):
'''get_logging_level will return a logging level based on first
a variable going into the function, then an environment variable
MESSAGELEVEL, and then the default is DEBUG.
:param MESSAGELEVEL: the level to get.
'''
if MESSAGELEVEL == None:
MESSAGELEVEL = os.environ.get("MESSAGELEVEL","DEBUG")
if MESSAGELEVEL in ["DEBUG","INFO"]:
print("Environment message level found to be %s" %MESSAGELEVEL)
if MESSAGELEVEL == "FATAL":
return logging.FATAL
elif MESSAGELEVEL == "CRITICAL":
return logging.CRITICAL
elif MESSAGELEVEL == "ERROR":
return logging.ERROR
elif MESSAGELEVEL == "WARNING":
return logging.WARNING
elif MESSAGELEVEL == "INFO":
return logging.INFO
elif MESSAGELEVEL in "DEBUG":
return logging.DEBUG
return logging.DEBUG
def fatal(self, msg, *args, **kw):
self.log(self.FATAL, msg, *args, **kw)
def parse_options():
"""Parse additional cli logging options.
"""
parser = NoErrArgumentParser(usage=argparse.SUPPRESS, formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("--logdir", dest="logdir", default=None,
help="Directory path to store log files.")
parser.add_argument("--loglevel", dest="loglevel", default="INFO",
help="Logging level (DEBUG, INFO, WARNING, ERROR, FATAL, CRITICAL).")
parser.add_argument("--logprefix", dest="logprefix", default="main",
help="Log files prefix.")
parser.add_argument("--silent", action="store_true", dest="silent", default=False,
help="Do not print logging to console.")
parser.add_argument("-k", action="store", dest="keyword", default=None,
help="pytest kewords.")
parser.add_argument("-m", action="store", dest="markexpr", default=None,
help="pytest markers expression.")
opts = parser.parse_args()
if opts.markexpr is None:
opts.markexpr = ""
if opts.keyword is None:
opts.keyword = ""
return opts
def parse_options():
"""Parse additional cli logging options.
"""
parser = NoErrArgumentParser(usage=argparse.SUPPRESS, formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("--logdir", dest="logdir", default=None,
help="Directory path to store log files.")
parser.add_argument("--loglevel", dest="loglevel", default="INFO",
help="Logging level (DEBUG, INFO, WARNING, ERROR, FATAL, CRITICAL).")
parser.add_argument("--logprefix", dest="logprefix", default="main",
help="Log files prefix.")
parser.add_argument("--silent", action="store_true", dest="silent", default=False,
help="Do not print logging to console.")
parser.add_argument("-k", action="store", dest="keyword", default=None,
help="pytest kewords.")
parser.add_argument("-m", action="store", dest="markexpr", default=None,
help="pytest markers expression.")
opts = parser.parse_args()
if opts.markexpr is None:
opts.markexpr = ""
if opts.keyword is None:
opts.keyword = ""
return opts
def parse_options():
"""Parse additional cli logging options.
"""
parser = NoErrArgumentParser(usage=argparse.SUPPRESS, formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("--logdir", dest="logdir", default=None,
help="Directory path to store log files.")
parser.add_argument("--loglevel", dest="loglevel", default="INFO",
help="Logging level (DEBUG, INFO, WARNING, ERROR, FATAL, CRITICAL).")
parser.add_argument("--logprefix", dest="logprefix", default="main",
help="Log files prefix.")
parser.add_argument("--silent", action="store_true", dest="silent", default=False,
help="Do not print logging to console.")
parser.add_argument("-k", action="store", dest="keyword", default=None,
help="pytest kewords.")
parser.add_argument("-m", action="store", dest="markexpr", default=None,
help="pytest markers expression.")
opts = parser.parse_args()
if opts.markexpr is None:
opts.markexpr = ""
if opts.keyword is None:
opts.keyword = ""
return opts
def test_stdout_handlers_many_loggers(testdir):
makefile(testdir, ['conftest.py'], """
import logging
def pytest_logger_stdoutloggers(item):
return [
'foo',
('bar', logging.ERROR),
('baz', logging.FATAL)
]
""")
makefile(testdir, ['test_case.py'], """
import logging
def test_case():
for lgr in (logging.getLogger(name) for name in ['foo', 'bar', 'baz']):
lgr.fatal('this is fatal')
lgr.error('this is error')
lgr.warning('this is warning')
""")
result = testdir.runpytest('-s')
assert result.ret == 0
result.stdout.fnmatch_lines([
'',
'test_case.py ',
'* foo: this is fatal',
'* foo: this is error',
'* foo: this is warning',
'* bar: this is fatal',
'* bar: this is error',
'* baz: this is fatal',
'.',
''
])
def test_sanitize_level():
assert plugin._sanitize_level(logging.INFO) == logging.INFO
assert plugin._sanitize_level('15') == 15
assert plugin._sanitize_level('warn') == logging.WARN
assert plugin._sanitize_level('FATAL') == logging.FATAL
with pytest.raises(TypeError):
plugin._sanitize_level('WARN ')
with pytest.raises(TypeError):
plugin._sanitize_level('unknown')
with pytest.raises(TypeError):
plugin._sanitize_level(1.0)
assert plugin._sanitize_level('WARN ', raises=False) is None
def test_loggers_from_logcfg():
logcfg = plugin.LoggerConfig()
logcfg.add_loggers(['a', 'b', 'c'], stdout_level=logging.ERROR, file_level='warn')
logcfg.add_loggers(['d'], stdout_level='10')
log_option = [('b', logging.FATAL), 'd']
loggers = plugin._loggers_from_logcfg(logcfg, log_option)
assert loggers.stdout == [('b', logging.FATAL), ('d', 10)]
assert loggers.file == [('a', logging.WARN), ('b', logging.WARN), ('c', logging.WARN), ('d', 0)]
assert loggers
def fatal(self, msg, *args, **kw):
self.log(self.FATAL, msg, *args, **kw)
def fatal(self, msg, *args, **kw):
self.log(self.FATAL, msg, *args, **kw)
def setVerbosity(verbosity=0):
"""
set the verbosity level of logging
Args:
verbosity: set the verbosity level using an integer {0, 1, 2, 3, 4}
e.g. verbosity=0, imply DEBUG logging, it logs all level of logs
verbosity=1, imply INFO logging
verbosity=2, imply WARN logging
verbosity=3, imply ERROR logging
verbosity=4, imply FATAL logging, it logs only the lowest FATAL level
"""
_logger.setLevel(_verbosity(str(verbosity)))
def _verbosity(verbosity):
return{
'0': DEBUG,
'1': INFO,
'2': WARN,
'3': ERROR,
'4': FATAL,
}[verbosity]
def error(msg, *args, **kwargs):
"""
Logs the level ERROR logging, it logs level ERROR and FATAL
Args:
msg: the message to log
"""
_logger.error(_log_prefix() + msg, *args, **kwargs)
def fatal(msg, *args, **kwargs):
"""
Logs thE level FATAL logging, it logs only FATAL
Args:
msg: the message to log
"""
_logger.fatal(_log_prefix() + msg, *args, **kwargs)
def fatal(self, msg, *args, **kw):
self.log(self.FATAL, msg, *args, **kw)