Metadata-Version: 1.0
Name: pglogs
Version: 0.1.5
Summary: A simple lib for postgres logging
Home-page: https://github.com/romario8/pglogs
Author: Roman Dashevsky
Author-email: dashevsky@selectel.ru
License: LICENSE
Description: ======
        pglogs
        ======
        Save logs records in postgres.
        Log record can contain any num of fields.
        Logs format in the table:
            id  SERIAL
            data TEXT
                {"field1": "value", "field2": "value", "field3": "value"}
        
        
        # example of use
            from pglogs.models import Pg, LogRecord
        
            pg = Pg('pglogs', 'pglogs_user', '127.0.0.1', 'qwerty')
            pg.connect()
        
            log = LogRecord(pg)
            log.set_field('chef_request', """'{}[[[]dfdfd''']]--pdfdfdfdfd\\SOME HACKER BEEN HERE}'""")
            log.set_field('proxy_response', """dfdg'gfgfd'g'dsgd\'gfsdfg\'gdf/dgfd/fdg/f/dgd'\"\\''''""")
            log.commit()
        
        
        # example of use for log Flask requests
            from pglogs.models import Pg, LogRecord
            from pglogs.utils import pack_request_log
            from flask import Flask, request, g
        
            app = Flask(__name__)
            pg = Pg('pglogs', 'pglogs_user', '127.0.0.1', 'qwerty')
        
        
            @app.before_request
            def init_request_log():
                if not hasattr(g, 'log'):
                    g.log = LogRecord(pg)
        
            @app.route("/")
            def hello():
                g.log.set_field('hello_request',pack_request_log(request))
                g.log.commit()
                return "Hello World!"
        
            if __name__ == "__main__":
                app.run()
        
        
        
        
Platform: UNKNOWN
