使用logging模块来写日志

日志直接输出到准备输出

import logging

logging.basicConfig(level=logging.WARNING,
format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

日志输出到文件

import logging

logging.basicConfig(level=logging.WARNING,
filename='basic_log.txt',
filemode='w',
format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

同时向不同地方写日志

import logging

# 创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO) # 创建一个handler,用于写入日志文件
logfile = './log.txt'
fh = logging.FileHandler(logfile, mode='a')
# 写入日志文件的级别为DEBUG
fh.setLevel(logging.DEBUG) # 创建另一个handler,用于将日志输出到标准输出
ch = logging.StreamHandler()
# 标准输出的日志级别的WARNING
ch.setLevel(logging.WARNING) # 定义日志格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 将格式应用到fh和ch两个handler
fh.setFormatter(formatter)
ch.setFormatter(formatter) # 将handler装载到logger中
logger.addHandler(fh)
logger.addHandler(ch) # 使用logger来写日志,会同时写在文件和标准输出中
logger.debug("debug level")
logger.info("info level")
logger.warning("warning level")
logger.error("error level")
logger.critical("critical level")

[Python之路] 日志操作的更多相关文章

  1. python中的日志操作和发送邮件

    1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...

  2. python之路-----MySql操作三

    mysql 概述 一.主要内容: 视图 create view name (select * from user where id>5); 触发器 函数 存储过程 索引 二.各模块详细说明 1. ...

  3. Python之路----文件操作

    文件操作 1.能调用方法的一定是对象,比如数值.字符串.列表.元组.字典,甚至文件也是对象,Python中一切皆为对象. str1 = 'hello' str2 = 'world' str3 = ' ...

  4. Python之路-文件操作(py3)

    文件操作的基本步骤: 1.打开文件:f=open('filename'),with open('filename') as f 2.操作文件:增,删,改,查 3.关闭文件:f.close 打开文件 p ...

  5. python之路——文件操作

    阅读目录 初窥文件操作基本流程 文件编码 文件的打开模式 文件内的光标移动 with上下文管理 文件的修改 练习 回到顶部 初窥文件操作基本流程 计算机系统分为:计算机硬件,操作系统,应用程序三部分. ...

  6. 百万年薪python之路 -- 文件操作练习

    1.有如下文件,a1.txt,里面的内容为: 老男孩是最好的学校, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: a,将原文件全部读出来并打印. with ...

  7. 百万年薪python之路 -- 文件操作

    1.文件操作: f = open("zcy.txt" , mode="r" , encoding="UTF-8") open() 打开 第一 ...

  8. python之路-----MySql操作二

    一.主键 1.每个 表只有一个主键 2.每个主键可以由多个列组成.(如果主键由多个组成,只要有一行列值不等即可) CREATE TABLE NAME ( id INT auto_increment, ...

  9. python之路-----MySql操作

    一.概述 1.什么是数据库 数据库就是按照数据结构来组织.存储和管理数据的仓库.如我们创建的文件夹,就是一个数据库. 2.什么是mysql,oracle,access,sqlit等? 他们都是一款软件 ...

随机推荐

  1. 关于python中的包,模块导入的问题详解(二)

    from import导入 紧接着的是from xx import xx  语法 1 ################ 2 from my_moudule import name 3 print(na ...

  2. WebMvcConfigurationSupport跨域和fastjson全局替换

    @Configuration public class WarnWebMvcConfigurationSupport extends WebMvcConfigurationSupport { /** ...

  3. table与json的互转

    json是键值对,在Lua中类型是string 主要运用在table中.表:local t={a="1",b="2",c="3",d=&qu ...

  4. C#颜色对话框(WPF可用)

    System.Windows.Forms.ColorDialog colorDialog = new System.Windows.Forms.ColorDialog(); //允许使用该对话框的自定 ...

  5. JS基础_非布尔值的与或运算

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 1 sql server中添加链接服务器

    1  链接到另一个sql server 的实例 exec sp_addlinkedserver @server= '服务器的地址',@srvproduct='SQL Server' go 分布式查询中 ...

  7. Golang新开发者要注意的陷阱和常见错误

    转自:http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/ 目录 [−] 初级 开大括号不能放在单独的一行 未使 ...

  8. 使用hbuilder打包时,调用地图和相机

    <template> <div class="comCon"> <!-- 你是头部区域的内容 --> <headback class=&q ...

  9. 鼠标悬停设置layui tips提示框

    官方介绍:吸附层,灵活判断出现的位置,默认在元素的右侧弹出. layer.tips(content, follow, options) layer.tips(msg, '#id',{tips: 1}) ...

  10. U盘被识别但不显示盘符怎么样才能解决?

    很多朋友在将U盘插入电脑后,会发现右下角的任务栏虽然出现了U盘的图标,但是在我的电脑中并没有显示出U盘的盘符,也就无法继续对U盘进行操作.遇到这种情况该怎么办呢?下面好系统U盘启动就告诉大家相应的解决 ...