Example #1
0
    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")
Example #2
0
    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')
Example #3
0
    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')
Example #4
0
    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'))
Example #5
0
    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')
Example #6
0
    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")
Example #7
0
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")