def testQueryableMessages(self): """ Logging example with dictionary """ log = logging.getLogger('query') log.setLevel(logging.DEBUG) log.addHandler(MongoHandler(self.collection_name, self.db_name)) log.info({'address': '340 N 12th St', 'state': 'PA', 'country': 'US'}) log.info({'address': '340 S 12th St', 'state': 'PA', 'country': 'US'}) log.info({'address': '1234 Market St', 'state': 'PA', 'country': 'US'}) query = { 'levelname': 'INFO', 'msg.address': '340 N 12th St', } docs_count = self.collection.count_documents(query) self.assertEqual( docs_count, 1, "Expected query to return 1 " "message; it returned %d" % docs_count) cursor = self.collection.find(query) self.assertEqual(cursor[0]['msg']['address'], '340 N 12th St') query = { 'levelname': 'INFO', 'msg.state': 'PA', } docs_count = self.collection.count_documents(query) self.assertEqual(docs_count, 3, "Didn't find all three documents")
def testLoggingFileConfiguration(self): log = logging.getLogger('example') log.addHandler(MongoHandler(self.collection_name, self.db_name)) log.debug('test') message = self.collection.find_one({'levelname': 'DEBUG', 'msg': 'test'}) self.assertEqual(message['msg'], 'test')
def testLogging(self): """ Simple logging example """ log = logging.getLogger('log') log.setLevel(logging.DEBUG) log.addHandler(MongoHandler(self.collection_name, self.db_name)) log.debug('test') r = self.collection.find_one({'levelname': 'DEBUG', 'msg': 'test'}) self.assertEqual(r['msg'], 'test')
def testLoggingException(self): """ Logging example with exception """ log = logging.getLogger('exception') log.setLevel(logging.DEBUG) log.addHandler(MongoHandler(self.collection_name, self.db_name)) try: 1 / 0 except ZeroDivisionError: log.error('test zero division', exc_info=True) r = self.collection.find_one({ 'levelname': 'ERROR', 'msg': 'test zero division' }) self.assertTrue(r['exc_info'].startswith('Traceback'))
def testAuthentication(self): """ Logging example with authentication """ log = logging.getLogger('authentication') log.addHandler( MongoHandler(self.collection_name, self.db_name, username=self.user_name, password=self.password)) log.error('test') message = self.collection.find_one({ 'levelname': 'ERROR', 'msg': 'test' }) self.assertEqual(message['msg'], 'test')
def testLoggingDictConfiguration(self): if dictConfig: dictConfig(self.configDict) else: self.assertEqual('Python<2.7', 'Python<2.7') return log = logging.getLogger('dict_example') log.addHandler(MongoHandler(self.collection_name, self.db_name)) log.debug('testing dictionary config') message = self.collection.find_one({'levelname': 'DEBUG', 'msg': 'dict_example'}) self.assertEqual(message, None, "Logger put debug message in when info level handler requested") log.info('dict_example') message = self.collection.find_one({'levelname': 'INFO', 'msg': 'dict_example'}) self.assertNotEqual(message, None, "Logger didn't insert message into database") self.assertEqual(message['msg'], 'dict_example', "Logger didn't insert correct message into database")
import sys import os import weixin import tool import time import math import hashlib from mongolog import logerr, log, MongoHandler from jinja2 import Template import thread thread.start_new_thread app = flask.Flask(__name__, static_folder='../static') app.secret_key = encrypt('anglestreet2014') app.config['UPLOAD_FOLDER'] = '../uploads' # app.debug = True app.logger.addHandler(MongoHandler()) import route_admin_shop import route_admin_user import route_weixin import route_order import route_print @app.route('/api/listshop') def listshop(): w = Shop.objects(data__show=True).to_json() return w @app.route("/api/session")