pycharm中创建两个方法:
具体实现:logg.py
# -*- coding:utf-8 -*-
import logging
import time
import os.path
class Log:
def __init__(self):
# 第一步,创建一个logger
self.logger = logging.getLogger()
self.logger.setLevel(http://logging.INFO) # Log等级总开关
# 第二步,创建一个handler,用于写入日志文件 -Handler 处理器,将(记录器产生的)日志记录发送至合适的目的地
handler = logging.FileHandler(os.path.join("/Users/lvguangyi/PycharmProjects/Demo/log", "output.log"))
# # 第三步,定义handler的输出格式 Formatter 格式化器,指明了最终输出中日志记录的布局
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 使用Formatter对象设置日志信息最后的规则、结构和内容,默认的时间格式为%Y-%m-%d %H:%M:%S
handler.setFormatter(formatter)
# 第四步,将logger添加到handler里面 #为Logger实例增加一个处理器
self.logger.addHandler(handler)
# logging.debug("详细信息,典型地调试问题时会感兴趣。");
# http://logging.info("打证明事情按预期工作");
# logging.warning("表明发生了一些意外,或者不久的将来会发生问题(如‘磁盘满了’)。软件还是在正常工作。")
# logging.error("由于更严重的问题,软件已不能执行一些功能了")
# logging.critical("严重错误,表明软件已不能继续运行了。");
def get_logger(self,message):
self.logger.error(message)
# 日志输出
# 通过下面的方式进行简单配置输出方式与日志级别-目录下生成了logger.log文件存放日志
# logging.basicConfig(filename='logger.log', level=http://logging.INFO)
# 通过上述配置方法都可以配置那些信息?
# Logger 记录器,暴露了应用程序代码能直接使用的接口。
# Handler 处理器,将(记录器产生的)日志记录发送至合适的目的地。
# Filter 过滤器,提供了更好的粒度控制,它可以决定输出哪些日志记录。
# Formatter 格式化器,指明了最终输出中日志记录的布局
# 创建方法:
# logger = logging.getLogger(logger_name)
# 设置项目
# logger.setLevel(logging.ERROR) # 设置日志级别为ERROR,即只有日志级别大于等于ERROR的日志才会输出
# logger.addHandler(handler_name) # 为Logger实例增加一个处理器
# logger.removeHandler(handler_name) # 为Logger实例删除一个处理器
if __name__ == '__main__':
log=Log();
log.get_logger("ddd")
logone.py调用
#-*- coding:utf-8 -*-
from log import logg
loginfo=logg.Log()
loginfo.get_logger("aaa")
运行实际结果:
2019-05-14 13:41:52,893 - root - ERROR - aaa
2019-05-14 13:42:02,727 - root - ERROR - aaa