diff options
-rw-r--r-- | .hgtags | 1 | ||||
-rw-r--r-- | NEWS.txt | 8 | ||||
-rw-r--r-- | doc/index.rst | 1 | ||||
-rw-r--r-- | logutils/__init__.py | 14 |
4 files changed, 20 insertions, 4 deletions
@@ -1,2 +1,3 @@ fb88d715212ede9b27c6cd98d19c9d90a81a9b92 0.1 bbc87ba2598d6253524c4326e9f24e6685ef9642 0.2 +6f2d5485f32c9c41409a963abfb5ab3b45d75df4 0.3 @@ -1,6 +1,14 @@ What's New in logutils ====================== +Version 0.3 +----------- + +- Added caches for BraceMessage/DollarMessage. + +- Added ColorizingStreamHandler. + + Version 0.2 ----------- diff --git a/doc/index.rst b/doc/index.rst index 2d971ee..56aab6a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -19,6 +19,7 @@ tasks you may want to perform: dictconfig adapter http + colorize Indices and tables ================== diff --git a/logutils/__init__.py b/logutils/__init__.py index 6ec0e0b..f917643 100644 --- a/logutils/__init__.py +++ b/logutils/__init__.py @@ -10,7 +10,7 @@ of Python, and so are packaged here. import logging from string import Template -__version__ = '0.2' +__version__ = '0.3' class NullHandler(logging.Handler): """ @@ -156,18 +156,24 @@ class BraceMessage(object): self.fmt = fmt self.args = args self.kwargs = kwargs + self.str = None def __str__(self): - return self.fmt.format(*self.args, **self.kwargs) + if self.str is None: + self.str = self.fmt.format(*self.args, **self.kwargs) + return self.str class DollarMessage(object): def __init__(self, fmt, **kwargs): self.fmt = fmt self.kwargs = kwargs + self.str = None def __str__(self): - from string import Template - return Template(self.fmt).substitute(**self.kwargs) + if self.str is None: + self.str = Template(self.fmt).substitute(**self.kwargs) + return self.str + def hasHandlers(logger): """ |