python ---- 日志模块

作者: 幼姿沫 | 来源:发表于2020-06-01 22:01 被阅读0次

一    回滚提交操作

"""

开始编程步骤:

begin -----  增删改查的语句  -----  rollback 回滚 撤销操作  ----- commit 提交数据

编程实现事务控制    python操作mysql 默认事务已经打开

代码操作实现*N个步骤放到一个try异常处理块中,出现异常添加回滚

"""

1.第一种情况是修改之后直接进行提交然后进行关闭

import pymysql

def transform():

conn=pymysql.connect(host="localhost",port=3306,user="root",passwd="root",db="transform",charset="utf8")

cur=conn.cursor()

cur.execute("update user set balance=balance-200 where uname='张华'")

try:

cur.execute("update user set balance=balance+200 where uname='张刚'")

except:

print("***操作错误***")

print("***操作成功***")

conn.commit()

conn.close()

if __name__ == '__main__':

transform()

2.第二种方式* 对数据库进行操作之后提交数据库之后,

在数据库中还是原来的数据因为进行了回滚操作

import pymysql

def transform():

conn=pymysql.connect(host="localhost",port=3306,user="root",passwd="root",db="transform",charset="utf8")

cur=conn.cursor()

try:

cur.execute("insert into transform values(default,'花花',25000)")

cur.execute("insert into transform values(default,'乎乎',6000)")

except:

#如果是报错或者要撤销上一步操作的话

conn.rollback()

print("执行结束!")

#如果步骤都正常提交到数据库

conn.commit()

conn.close()

if __name__ == '__main__':

transform()

二   日志文件 xx.log 作用是  程序的敏感信息和异常信息会被单独写在一个文本文件中,该文件叫做 系统日志文件

日志信息可以人为的分为几个级别: noset debug info warning error critical

在python中自带的日志模块 import logging

在日志中进行的操作*

1.导入日志模块python自带   

  import logging

2.获得日志记录器           

  logger = logging.getLogger()

3.指定处理的文件            

files = logging.FileHandle('test.log',encoding='utf8',mode='a')

4.日志的格式时间名称级别信息  

formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s %(message)s')

#设置格式化                  

fh.setFormatter(format)

logger.addHandler(fh)

logger.setLevel(logging.DEBUG)

logging.info(name)

简单的自定义格式日志记录器!

import logging

logging.basicConfig(filename='access.log',

format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',

datefmt='%Y-%m-%d %H:%M:%S %p',

level=10)

logging.debug('调试debug')

logging.info('消息info')

logging.warning('警告warn')

logging.error('错误error')

logging.critical('严重critical')

日志模板logging的 对象  Formatter / Handler / Logger / Filter

logger        产生日志的对象

Filter        过滤日志的对象

Handler      接收日志然后控制打印到不同的地方 FileHandler

Formatter    可以定制不同的日志格式对象

"""

import logging

def shop_logging(name):

name=name+"登陆成功"

    logger=logging.getLogger()

files=logging.FileHandler('test.log',encoding='utf8',mode='a')

formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s *  %(message)s')

files.setFormatter(formatter)

logger.addHandler(files)

logger.setLevel(logging.DEBUG)

logging.info(name)

shop_logging("admin")

运行结果展示*  test.log

三   ATM取款机 日志记载  Logging

#导入模块 pyhon中自带logging日志模块 用logging.出来他们的方法和属性

import logging

import re

#加载配置  (日志配置在工具类中已经写好)

#添加的全局的日志格式配置

logging.basicConfig(filename='access.log',

                    format='%(asctime)s - %(name)s - %(levelname)s - %(module)s * %(message)s ',

                    datefmt='%Y-%m-%d  %H:%M:%S %p',

                    level=20)

def login():

print("""

********************ATM取款机*******************

1.取款功能

2.转账功能

3.存款功能

4.查询功能

0.退出功能

          """)

option=input("请选择菜单*")

option_str=re.sub("\D","",option)

if option_strin ["1","2","3","4","0"]:

option_int=int(option_str)

if option_int==1:

get()

elif option_int==2:

trans()

elif option_int==3:

save()

elif option_int==4:

show()

elif option_int==0:

print("退出转账系统***")

mark=False

#调试过程可以使用print  但是上线之后必须去掉print 太多的print会影响运行效率

def get():

logging.info("用户选择了取款***")

def trans():

logging.error("用户选择了转账***")

def save():

print("进行存款***")

def show():

print("进行查询***")

if __name__ =='__main__':

login()

运行结果*

相关文章

  • Python 中的 logging 模块 学习

    参考资料: Python中的logging模块 python 的日志logging模块学习 python logg...

  • logging模块

    简介 logging模块是python日志管理模块 使用 日志级别: CRITICAL > ERROR > WAR...

  • Python日志处理logging

    参考: Python之日志处理(logging模块)

  • Django中的日志系统章

    Python日志系统 Django使用logging模块记录日志。Python的日志系统分为4块。分别是:logg...

  • logging模块

    (一)什么是logging模块? logging是Python内置的日志模块,用于生成程序的日志 (二...

  • 1-logging模块

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志...

  • Python 标准库模块 - logging

    logging 模块是 Python 内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、...

  • Python日志处理模块loggin

        logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径...

  • 2019-03-04 Python标准模块logging的使用

    logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等...

  • python logging模块使用

    参考资料 Python之日志处理(logging模块) Python之向日志输出中添加上下文信息 Python之配...

网友评论

    本文标题:python ---- 日志模块

    本文链接:https://www.haomeiwen.com/subject/vwcezhtx.html