Pop-Up Thingie
Sidebar
>>> Magnum BBS <<<
Home
Forum
Files
Dark
Log in
Username
Password
Sidebar
Forum
Usenet
COMP.LANG.PYTHON
from my lab 3
From
Stefan Ram
@21:1/5 to
All
on Fri Feb 10 14:31:11 2023
main.py
import logging
logging.getLogger().setLevel( logging.DEBUG )
class log_class:
def __init__( self ):
self.depth = 0
def wrap( self, func ):
def wrap( *args, **kwargs ):
self.info( 'starting ' + func.__name__ )
self.depth += 1
result = func( *args, **kwargs )
self.info( 'ending ' + func.__name__ )
self.depth -= 1
return result
return wrap
def info( self, text ):
logging.info( ' ' * self.depth + text )
log = log_class()
@log.wrap
def factorial( n ):
log.info( f'{n = }' )
return n * factorial( n - 1 ) if n else 1
factorial( 2 )
output
INFO:root:starting factorial
INFO:root: n = 2
INFO:root: starting factorial
INFO:root: n = 1
INFO:root: starting factorial
INFO:root: n = 0
INFO:root: ending factorial
INFO:root: ending factorial
INFO:root: ending factorial
previous "from my lab" posts
Adding "start" and "end" methods to a logger
1 How a function can get its own name
2 Logging function entry and exit
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
Who's Online
Recent Visitors
Bob Worm
Mon Sep 15 15:42:34 2025
from
Wales, Uk
via
Telnet
Gretchiie
Mon Sep 15 05:16:29 2025
from
Derry, Nh
via
Telnet
Fred Blogs
Mon Sep 15 00:03:12 2025
from
Uk
via
SSH
Plume
Sun Sep 14 09:34:52 2025
from
Uk
via
Raw
Gretchiie
Sun Sep 14 06:07:30 2025
from
Derry, Nh
via
Telnet
Thlc
Sat Sep 13 17:11:34 2025
from
Rognac, France
via
Telnet
Thlc
Sat Sep 13 17:04:03 2025
from
Rognac, France
via
Telnet
Thlc
Sat Sep 13 16:32:19 2025
from
Rognac, France
via
SSH
System Info
Sysop:
Keyop
Location:
Huddersfield, West Yorkshire, UK
Users:
546
Nodes:
16 (
2
/
14
)
Uptime:
09:09:36
Calls:
10,388
Calls today:
3
Files:
14,061
Messages:
6,416,843
Posted today:
1