python logging 模块(一)

来源:互联网 发布:js分页代码实例 编辑:程序博客网 时间:2024/06/12 19:44

今天说的是logging模块,类似于android里面的log ,前端里面的console,只能说语言的共性是相通的,功能也是相同的。。。下面来一点一点介绍 :

  • 最简单的用法,就是和android, 前端一样 ,直接把log 打印到输出中:
import logginglog_dict = {    "level":logging.DEBUG}logging.basicConfig(**log_dict)logging.debug("debug")logging.info("info")logging.warn("warn")logging.warning("warning")logging.error("error")
  • 后面如果你要是不想看到log的时候,只需要吧log_dict 里面的 “level” 修改成logging.CRITICAL , 级别设为最大,这样所有的logging就都不显示了。
  • 我们可以通过修改basicConfig(**log_dict) 中 log_dict 的参数,来修改打印出的内容,以及把内容写入文件,等等操作。
fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s',log_dict = {    "filename" : 'test2/test.log',    "filemode" : 'a',    "level" :logging.INFO,    'format' : fmt,    'datefmt' : '%Y-%m-%d %H:%M:%S'}
  • format :

    • %(name)s Logger的名字
    • %(levelno)s 数字形式的日志级别
    • %(levelname)s 文本形式的日志级别
    • %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
    • %(filename)s 调用日志输出函数的模块的文件名
    • %(module)s 调用日志输出函数的模块名
    • %(funcName)s 调用日志输出函数的函数名
    • %(lineno)d 调用日志输出函数的语句所在的代码行
    • %(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
    • %(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
    • %(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
    • %(thread)d 线程ID。可能没有
    • %(threadName)s 线程名。可能没有
    • %(process)d 进程ID。可能没有
    • %(message)s用户输出的消息

    这些内容也不需要全部记,知道常用的几个就可以了。。。

  • datefmt :
    这个的参数是用来控制上面format中的asctime 里面的时间显示内容,顺序等,就和我们平常输出时间戳修改为日期就可以了。。。
  • filename :
    filename 的字符串是一个文件路径,如上面的一样,这样的话不会打印输出,会直接输出到指定路径的文件下面。。
  • filemode :
    filemode 是用来控制打印日志文件的读写状态, ‘w’, ‘a’ 这些东东,具体不懂的可以百度下pyton 文件读写。。。
原创粉丝点击