python logging 模块(一)
16lz
2021-01-26
今天说的是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 文件读写。。。
更多相关文章
- Kotlin继承
- Android(安卓)添加手势操作
- android 处理txt文件类FileUtils,利用java反射机制访问非sdk类和
- 写在20111011:checkbox的onClick事件
- 为开发者准备的最佳 Android(安卓)函数库(2016年版)
- android SoundRecorder设计二
- Android(安卓)SurfaceFlinger 学习之路(七)----创建图形缓冲区Gr
- 在android中通过JNI调用本地方法
- android:The application has stopped unexpectedly, please try