[Python-ideas] Dynamic code NOPing
Andrew Grigorev
andrew at ei-grad.ru
Tue Dec 25 08:23:53 CET 2012
It is possible now, use just have to move a resource consuming
operations to the __str__ or __repr__ class methods and use logging.log
feature, that it doesn't format string with specified format and
arguments if the logging level is greater than the specified message
level. For example:
class Factorial:
def __init__(self, n):
self.n = n
def calculate(self):
return factorial(n)
def __str__(self):
return str(self.calculate)
logging.debug("Factorial of %d is %s", 2**15, Factorial(2**15))
25.12.2012 12:28, anatoly techtonik ?????:
> For the logging module it will be extremely useful if Python included
> a way to disactivate processing certain blocks to avoid making
> sacrifices between extensive logging harness and performance. For
> example, instead of writing:
>
> if log.DEBUG==True:
> log(factorial(2**15))
>
> It should be possible to just write:
> log(factorial(2**15))
>
> if if log() is an instance of some Nopable class, the statement in
> log's braces is not executed.
> --
> anatoly t.
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
--
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20121225/7e927afe/attachment.html>
More information about the Python-ideas
mailing list