enabled rotate_handler output.
svn: r5674
This commit is contained in:
@@ -89,7 +89,9 @@ class ErrorReportAssistant:
|
||||
textview = gtk.TextView()
|
||||
|
||||
self._error_details_text_buffer = textview.get_buffer()
|
||||
self._error_details_text_buffer.set_text(self._error_detail)
|
||||
self._error_details_text_buffer.set_text("\n".join(self._rotate_handler.get_formatted_log()) +
|
||||
"\n\n" +
|
||||
self._error_detail)
|
||||
|
||||
sw.add(textview)
|
||||
sw.show()
|
||||
@@ -117,7 +119,8 @@ class ErrorReportAssistant:
|
||||
textview = gtk.TextView()
|
||||
|
||||
self._sys_information_text_buffer = textview.get_buffer()
|
||||
self._sys_information_text_buffer.set_text(self._get_sys_information())
|
||||
self._sys_information_text_buffer.set_text(
|
||||
self._get_sys_information())
|
||||
|
||||
sw.add(textview)
|
||||
sw.show()
|
||||
|
@@ -31,6 +31,16 @@ class RotateHandler(logging.Handler):
|
||||
return [record for record in self._buffer[self._index:] + self._buffer[:self._index]
|
||||
if record is not None]
|
||||
|
||||
def get_formatted_log(self):
|
||||
"""
|
||||
Return the log buffer after it has been formatted.
|
||||
|
||||
Returns a list of strings.
|
||||
"""
|
||||
|
||||
return [self.format(record) for record in self._buffer[self._index:] + self._buffer[:self._index]
|
||||
if record is not None]
|
||||
|
||||
def set_capacity(self,capacity):
|
||||
"""
|
||||
Set the number of log records that will be stored.
|
||||
|
46
src/GrampsLogger/__init__.py
Normal file
46
src/GrampsLogger/__init__.py
Normal file
@@ -0,0 +1,46 @@
|
||||
"""
|
||||
This package implements some extensions to the standard Python logging module that
|
||||
support a consistent logging and bug reporting framework for Gramps.
|
||||
|
||||
The package provides:
|
||||
|
||||
GtkHandler - a log handler that will pop up a gtk dialog when a log message is
|
||||
sent to it. The dialog offers the user the chance to start
|
||||
ErrorReportAssistant to send a bug report.
|
||||
|
||||
RotateHandler - a log handler that just keeps a rotating buffer of the last N
|
||||
log messages sent to it. This can be used with the GtkHandler to
|
||||
pass a history of log messages to the ErrorReportAssistant.
|
||||
|
||||
Usage:
|
||||
|
||||
These handlers can be used in same way a all the other logger module handlers.
|
||||
|
||||
Simple example:
|
||||
|
||||
from GrampsLogger import GtkHandler, RotateHandler
|
||||
|
||||
rh = RotateHandler(capacity=20)
|
||||
rh.setLevel(logging.DEBUG)
|
||||
|
||||
gtkh = GtkHandler(rotate_handler=rh)
|
||||
gtkh.setLevel(logging.ERROR)
|
||||
|
||||
l = logging.getLogger("GtkHandlerTest")
|
||||
l.setLevel(logging.DEBUG)
|
||||
|
||||
l.addHandler(rh)
|
||||
l.addHandler(gtkh)
|
||||
|
||||
log_message = "Debug message"
|
||||
try:
|
||||
wibble
|
||||
except:
|
||||
l.error(log_message,exc_info=True)
|
||||
|
||||
gtk.main()
|
||||
|
||||
"""
|
||||
|
||||
from _GtkHandler import GtkHandler
|
||||
from _RotateHandler import RotateHandler
|
Reference in New Issue
Block a user