📄 log_test.py
字号:
#!/usr/bin/env python## Copyright 2001-2002 by Vinay Sajip. All Rights Reserved.## Permission to use, copy, modify, and distribute this software and its# documentation for any purpose and without fee is hereby granted,# provided that the above copyright notice appear in all copies and that# both that copyright notice and this permission notice appear in# supporting documentation, and that the name of Vinay Sajip# not be used in advertising or publicity pertaining to distribution# of the software without specific, written prior permission.# VINAY SAJIP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING# ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL# VINAY SAJIP BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR# ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.## This file is part of the Python logging distribution. See# http://www.red-dove.com/python_logging.html#"""Test harness for the logging module. Run all tests.Copyright (C) 2001-2002 Vinay Sajip. All Rights Reserved."""import os, sys, logging, threading, timeBANNER = "-- %-10s %-6s --------------------------------------------------------\n"def banner(nm, typ): sep = BANNER % (nm, typ) sys.stdout.write(sep) sys.stdout.flush() sys.stderr.write(sep) sys.stderr.flush()def main(): oldout = sys.stdout olderr = sys.stderr sys.stdout = open("stdout.log", "w") sys.stderr = open("stderr.log", "w") logging.basicConfig() root = logging.getLogger("") hdlr0 = root.handlers[0] #Set up servers import logrecv threads = [] tcpserver = logrecv.LogRecordSocketReceiver() tcpserver.logname = "" threads.append(threading.Thread(target=logrecv.runTCP, args=(tcpserver,))) udpserver = logrecv.LogRecordDatagramReceiver() udpserver.logname = "" threads.append(threading.Thread(target=logrecv.runUDP, args=(udpserver,))) httpserver = logrecv.LogRecordHTTPReceiver() httpserver.logname = "" threads.append(threading.Thread(target=logrecv.runHTTP, args=(httpserver,))) soapserver = None if logrecv.SOAPServer: soapserver = logrecv.SOAPServer() soapserver.modules = (sys.modules["logrecv"],) soapserver.logname = "" threads.append(threading.Thread(target=logrecv.runSOAP, args=(soapserver,))) for thread in threads: thread.start() try: import log_test0 banner("log_test0", "begin") log_test0.main() banner("log_test0", "end") try: import log_test1 banner("log_test1", "begin") log_test1.main() banner("log_test1", "end") except ImportError: pass import log_test2 banner("log_test2", "begin") log_test2.main() banner("log_test2", "end") time.sleep(3) #Skip 3 as it tests fileConfig banner("log_test4", "begin") import log_test4 banner("log_test4", "end") #Skip 5 as it tests SMTPHandler, can't easily check results automatically #Skip 6 as it tests NTEventLogHandler, can't easily check results automatically banner("log_test7", "begin") root.removeHandler(hdlr0) import log_test7 root.addHandler(hdlr0) banner("log_test7", "end") banner("log_test8", "begin") import log_test8 root.removeHandler(hdlr0) log_test8.main() root.addHandler(hdlr0) banner("log_test8", "end") banner("log_test9", "begin") import log_test9 root.removeHandler(hdlr0) log_test9.main() root.addHandler(hdlr0) banner("log_test9", "end") banner("log_test10", "begin") import log_test10 log_test10.main() banner("log_test10", "end") #Skip 11 as it tests SMTPHandler, can't easily check results automatically import log_test12 banner("log_test12", "begin") log_test12.main() banner("log_test12", "end") import log_test13 banner("log_test13", "begin") log_test13.main() banner("log_test13", "end") import log_test15 banner("log_test15", "begin") log_test15.test(log_test15.FILTER) banner("log_test15", "end") time.sleep(3) finally: #shut down servers olderr.write("Tidying up...") tcpserver.abort = 1 udpserver.abort = 1 httpserver.abort = 1 if soapserver: soapserver.abort = 1 for thread in threads: thread.join() sys.stdout.close() sys.stdout = oldout #don't close this, as hdlr0 references it. hdlr0 will be closed at application exit #sys.stderr.close() sys.stderr = olderr print "Test run completed."if __name__ == "__main__": main()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -