logging的日志输出没有现成的输出到数据库的,然后网上也没找到现成的输出到mysql数据库的,就看了下源码,自己封装了个
实现方法
简单来说,就是写一个类继承logging.Handler,并重写emit方法,我这里是结合sqlalchemy的,如果日志表不存在,会直接在指定数据库创建指定名字的表,也可以在init中采用普通的pymysql的方式创建数据库连接,然后在emit中使用cursor执行sql语句提交
# coding: utf-8
import logging
import pymysql
from sqlalchemy import (Column, DateTime, Integer, MetaData,
String, Table, create_engine, text)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import mapper, sessionmaker
cl