mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-python
synced 2026-01-15 09:53:32 +01:00
log.slog(): Support log flag "module"
If module is present in the log flags string, the module is prepended to each log message. The length of the module prefix can be set via the new set_module_name_length() function. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
5ee88c1a81
commit
cf122e44be
1 changed files with 18 additions and 3 deletions
|
|
@ -53,6 +53,7 @@ CONSOLE_FONT_BLINK = '\033[5m'
|
||||||
CONSOLE_FONT_OFF = '\033[m'
|
CONSOLE_FONT_OFF = '\033[m'
|
||||||
|
|
||||||
f_position = 'position'
|
f_position = 'position'
|
||||||
|
f_module = 'module'
|
||||||
f_date = 'date'
|
f_date = 'date'
|
||||||
f_stderr = 'stderr'
|
f_stderr = 'stderr'
|
||||||
f_stdout = 'stdout'
|
f_stdout = 'stdout'
|
||||||
|
|
@ -63,6 +64,7 @@ f_default = [ f_position, f_stderr, f_prio, f_color ]
|
||||||
_flags = set(f_default)
|
_flags = set(f_default)
|
||||||
_log_prefix = ''
|
_log_prefix = ''
|
||||||
_file_name_len = 20
|
_file_name_len = 20
|
||||||
|
_module_name_len = 50
|
||||||
|
|
||||||
_short_prio_str = {
|
_short_prio_str = {
|
||||||
EMERG : '<Y>',
|
EMERG : '<Y>',
|
||||||
|
|
@ -104,7 +106,8 @@ def get_caller_pos(up: int = 1, kwargs: Optional[dict[str, Any]] = None) -> Tupl
|
||||||
del kwargs['caller']
|
del kwargs['caller']
|
||||||
return r
|
return r
|
||||||
caller = inspect.stack()[up+1]
|
caller = inspect.stack()[up+1]
|
||||||
return (basename(caller.filename), caller.lineno)
|
mod = inspect.getmodule(caller[0]).__name__
|
||||||
|
return (mod, basename(caller.filename), caller.lineno)
|
||||||
|
|
||||||
def slog_m(prio: int, *args, **kwargs) -> None: # export
|
def slog_m(prio: int, *args, **kwargs) -> None: # export
|
||||||
if prio > _level:
|
if prio > _level:
|
||||||
|
|
@ -140,10 +143,15 @@ def slog(prio: int, *args, only_printable: bool=False, **kwargs) -> None: # expo
|
||||||
msg += _short_prio_str[prio] + ' '
|
msg += _short_prio_str[prio] + ' '
|
||||||
|
|
||||||
if f_position in _flags:
|
if f_position in _flags:
|
||||||
|
|
||||||
if 'caller' in kwargs:
|
if 'caller' in kwargs:
|
||||||
name, line = kwargs['caller']
|
mod, name, line = kwargs['caller']
|
||||||
else:
|
else:
|
||||||
name, line = get_caller_pos(1)
|
mod, name, line = get_caller_pos(1)
|
||||||
|
|
||||||
|
if f_module in _flags:
|
||||||
|
msg += misc.pad(mod, _module_name_len)
|
||||||
|
|
||||||
msg += misc.pad(name, _file_name_len) + '[' + misc.pad(str(line), 4, True) + ']'
|
msg += misc.pad(name, _file_name_len) + '[' + misc.pad(str(line), 4, True) + ']'
|
||||||
|
|
||||||
if f_color in _flags:
|
if f_color in _flags:
|
||||||
|
|
@ -267,3 +275,10 @@ def set_filename_length(l: int) -> int: # export
|
||||||
if l:
|
if l:
|
||||||
_file_name_len = l
|
_file_name_len = l
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
def set_module_name_length(l: int) -> int: # export
|
||||||
|
global _module_name_len
|
||||||
|
r = _module_name_len
|
||||||
|
if l:
|
||||||
|
_module_name_len = l
|
||||||
|
return r
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue