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")
def config_mongolog(self, db_uri, db_name, log_col_name, log_level): c_sync = pymongo.MongoClient(db_uri, w=0) col = c_sync[db_name][log_col_name] logging.getLogger().addHandler(MongoHandler.to(collection=col)) logging.getLogger().setLevel(log_level)
# -*- coding: utf-8 *-* import sys sys.path.append('..') import logging from mongolog import MongoHandler if __name__ == '__main__': log = logging.getLogger('example') log.setLevel(logging.DEBUG) log.addHandler(MongoHandler.to('mongolog', 'log')) log.debug("1 - debug message") log.info("2 - info message") log.warn("3 - warn message") log.error("4 - error message") log.critical("5 - critical message")
import logging import os from mongolog import MongoHandler DEFAULT_PREFIX = '$' if os.getenv('DEBUG'): DB = '' else: DB = '' log = logging.getLogger('discord') log.setLevel(logging.INFO) log.addHandler(MongoHandler.to(db=DB, collection='logs', level=logging.INFO)) handler_stdout = logging.StreamHandler() handler_stdout.setFormatter(logging.Formatter(logging.BASIC_FORMAT)) log.addHandler(handler_stdout)
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")