前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day28 - MD5加密&day-29日志模块

day28 - MD5加密&day-29日志模块

原创
作者头像
少年包青菜
修改2022-05-05 11:56:44
2960
修改2022-05-05 11:56:44
举报
文章被收录于专栏:Python 学习Python 学习

1.md5加密

代码语言:javascript
复制
import hashlib
md5 = hashlib.md5(bytes('leon', encoding='utf_8')) # leon 转化为bytes类型的盐,可自己设置(动态加盐)
md5.update(b'leon1222') # 需要对 leon1222  加密
print(md5.hexdigest()) # 输出加密结果

2.定制日志

settings.py 配置

代码语言:javascript
复制
LOG_FMT = "%(levelname)-8s%(asctime)s %(name)s:%(filename)s:%(lineno)d %(message)s"
INFO_LOG_PATH = os.path.join(PROJECT_PATH, "logs", "info.log")
ERROR_LOG_PATH = os.path.join(PROJECT_PATH, "logs", "error.log")
BACK_COUNT = 3

代码实现

代码语言:javascript
复制
import logging
from logging import handlers

from conf import settings


class LogHandler(object):
    # 日志级别关系映射
    level_relations = {
        'debug': logging.DEBUG,
        'info': logging.INFO,
        'warning': logging.WARNING,
        'error': logging.ERROR,
        'crit': logging.CRITICAL
    }

    def __init__(self, filename, level='info', when='D'):
        self.logger = logging.getLogger(filename)

        self.log_colors_config = {
            'DEBUG': 'cyan',
            'INFO': 'green',
            'WARNING': 'yellow',
            'ERROR': 'red',
            'CRITICAL': 'red',
        }

        # 设置日志格式
        format_str = logging.Formatter(settings.LOG_FMT)
        # 设置日志级别
        self.logger.setLevel(self.level_relations.get(level))
        # 往屏幕上输出
        sh = logging.StreamHandler()
        # 设置屏幕上显示的格式
        sh.setFormatter(format_str)
        # 往文件里写入#指定间隔时间自动生成文件的处理器
        th = handlers.TimedRotatingFileHandler(
            filename=filename, when=when, backupCount=settings.BACK_COUNT, encoding='utf-8')
        """
        # 实例化TimedRotatingFileHandler
        # interval是时间间隔,
        # backupCount是备份文件的个数,如果超过这个个数,就会自动删除,
        # when是间隔的时间单位,单位有以下几种:
        # S 秒
        # M 分
        # H 小时、
        # D 天、
        # W 每星期(interval==0时代表星期一)
        # midnight 每天凌晨    
        """
        # 设置文件里写入的格式
        th.setFormatter(format_str)
        # 把对象加到logger里
        self.logger.addHandler(sh)
        self.logger.addHandler(th)


INFO = LogHandler(settings.INFO_LOG_PATH, level='info')
ERROR = LogHandler(settings.ERROR_LOG_PATH, level='error')

if __name__ == '__main__':
    ERROR.logger.error("测试")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.md5加密
  • 2.定制日志
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档