import logging
import os
import sys
try:
if sys.version_info[0] == 2:
import Tkinter as tkinter
else:
import tkinter
except ImportError:
tkinter = None
[文档]class MessageBoxHandler(logging.Handler):
def __init__(self):
logging.Handler.__init__(self)
[文档] def emit(self, record):
if tkinter:
msg = self.format(record)
root = tkinter.Tk()
root.wm_title("web2py logger message")
text = tkinter.Text()
text["height"] = 12
text.insert(0.1, msg)
text.pack()
button = tkinter.Button(root, text="OK", command=root.destroy)
button.pack()
root.mainloop()
[文档]class NotifySendHandler(logging.Handler):
def __init__(self):
logging.Handler.__init__(self)
[文档] def emit(self, record):
if tkinter:
msg = self.format(record)
os.system("notify-send '%s'" % msg)