日志文件怎么玩了,解一下Python中的日志模块

  

日志文件怎么玩了,解一下Python中的日志模块

  <人力资源/>   

1,如何控制日志格式

  

导入模块:

  
 <代码>导入日志记录
  进口操作系统
  导入系统
  BASE_DIR=os.path.dirname (os.path.dirname (os.path.abspath (__file__)))  
  

basicConfig定义日志格式:

  
 <代码> #格式控制输出日志的格式,levelname和消息是固定写法,levelname是等级名称,消息是输出字符,水平控制输出的等级
  logging.basicConfig(格式=' % (levelname)年代:%(消息)年代,水平=logging.DEBUG)
  #注意:每个文件的日志格式只能配置一次,即一个py文件里只能出现一次,而且只允许放在执行语句之前。
  词=癏ello, world !”
  #字符串的格式输出,% s引用单词字符串
  日志记录。警告(' % s我爱python !”,词)
  # asctime是当前时间,默认水平是logging.warning
  logging.basicConfig(格式=' % (asctime) %(消息)年代”)
  # lineno代表代码行数
  logging.basicConfig(=日志级别。调试格式=' % (lineno) d - %(文件名)s - % (asctime) s - %(名字)s - % (levelname) s - %(消息)年代) 
  

2,必须的控制台和文件对象

  
 <代码> def log_log (logger_name=岸允?log_file=os.path。加入(BASE_DIR‘日志’,‘log.log’),级别=logging.DEBUG):
  “生成指定日志格式的日志对象的
  #日志对象,需要个日志名儿
  记录器=logging.getLogger (logger_name)
  logger.setLevel(高度)
  #控制台对象
  ch=logging.StreamHandler ()
  ch.setLevel(高度)
  #文件对象
  跳频=日志记录。文件句柄(文件名=log_file编码=皍tf - 8”)
  #创建格式化程序
  格式化程序=logging.Formatter (“% (asctime) %(文件名)年代(线:% (lineno) d) %(名字)s % (levelname) %(消息)年代”)
  #添加格式化程序
  ch.setFormatter (formatter)
  fh.setFormatter (formatter)
  #把ch,跳频添加到记录器
  logger.addHandler (ch)
  logger.addHandler(跳频)
  返回日志 
  

3,完成了,测试一下

  
 <代码> def main ():
  #测试
  记录器=log_log ()
  logger.debug(调试消息)
  logger.info(“信息消息”)
  记录器。警告(“警告消息”)
  记录器。错误(“错误信息”)
  记录器。关键(重要信息)
  
  if __name__==癬_main__”:
  main()  
  

4,禁止所有日志输出

  
 <代码> #禁止所有日志输出
  logging.disable (logging.CRITICAL)  
  

是不是很简单!

  
  

本代码来源于51 cto课程:python全栈开发高薪就业班

  

日志文件怎么玩了,解一下Python中的日志模块