Python logging的一些简单使用

可以使用logging来输出log信息,也可以把log信息保存到文件。log等级默认是WARNNING,当然你也可以自己设置别的。在开发阶段可以输出多的信息,当release时,可以只输出关键信息。

1.直接在屏幕上输出

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger('myLog')

logger.info("log info!")
logger.debug("log debug!")
logger.warning("log warning!")

一些参数:

%(levelno)s:打印日志级别的数值
%(levelname)s:打印日志级别的名称
%(pathname)s:打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s:打印当前执行程序名
%(funcName)s:打印日志的当前函数
%(lineno)d:打印日志的当前行号
%(asctime)s:打印日志的时间
%(thread)d:打印线程ID
%(threadName)s:打印线程名称
%(process)d:打印进程ID
%(message)s:打印日志信息

2.把日志输出到文件

这样的话,屏幕上是不会输出的。log的等级都设置成一样的,如果不一样会怎么样 我没试过。

logger = logging.getLogger('myLog')
logger.setLevel(level=logging.INFO)

handler = logging.FileHandler("log.txt")
handler.setLevel(logging.INFO)

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

logger.addHandler(handler)

logger.info("log info!")
logger.debug("log debug!")
logger.warning("log warning!")

打开项目下面的log.txt文件,就能看到输入的信息了

3.输出到屏幕同时保存到文件

logger = logging.getLogger('myLog')
logger.setLevel(level=logging.INFO)

handler = logging.FileHandler("log.txt")
handler.setLevel(logging.INFO)

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

console = logging.StreamHandler()
console.setLevel(logging.INFO)
console.setFormatter(formatter)

logger.addHandler(handler)
logger.addHandler(console)

logger.info("log info!")
logger.debug("log debug!")
logger.warning("log warning!")

在屏幕是就能看到和文件里一样的log了

没有更多推荐了,返回首页