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
Rixter
Wed Jul 29 02:00:40 2026
from
Madison, Nc
via
Telnet
Centurion
Tue Jul 28 22:54:59 2026
from
Berea, Ohio
via
Telnet
Bob Worm
Tue Jul 28 16:01:18 2026
from
Wales, Uk
via
Telnet
Rixter
Tue Jul 28 13:42:46 2026
from
Madison, Nc
via
Telnet
Krenn
Tue Jul 28 11:59:57 2026
from
Sydney, Nsw
via
Telnet
Rixter
Tue Jul 28 01:23:48 2026
from
Madison, Nc
via
Telnet
Centurion
Mon Jul 27 22:50:42 2026
from
Berea, Ohio
via
Telnet
Ataricrypt
Mon Jul 27 19:19:17 2026
from
England
via
Telnet
System Info
Sysop:
Keyop
Location:
Huddersfield, West Yorkshire, UK
Users:
741
Nodes:
16 (
2
/
14
)
Uptime:
65:08:45
Calls:
12,446
Calls today:
1
Files:
15,194
Messages:
6,537,548