整理一个python打印日志的配置文件,是我喜欢的格式。

# coding:utf-8
# 2019/11/7 09:19
# huihui
# ref: import logging LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s" // LOG_FORMAT = "%(asctime)s - %(levelname)s - %(filename)s, line:%(lineno)d - %(message)s" 带有文件名、行号
DATE_FORMAT = "%Y-%m-%d %H:%M:%S" logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
#这里设置日志的级别 # 输出到文件
file_handler = logging.FileHandler("all.log", mode='a', encoding='utf-8') # 输出到控制台
stream_handler = logging.StreamHandler() # 错误日志单独输出到一个文件
error_handler = logging.FileHandler('error.log', mode='a', encoding='utf-8')
error_handler.setLevel(logging.ERROR)
#注意这里,错误日志只记录ERROR级别的日志 # 将所有的处理器加入到logger中
logger.addHandler(file_handler)
logger.addHandler(stream_handler)
logger.addHandler(error_handler) formatter = logging.Formatter(fmt=LOG_FORMAT, datefmt=DATE_FORMAT) # 设置格式化
file_handler.setFormatter(formatter)
stream_handler.setFormatter(formatter)
error_handler.setFormatter(formatter) logger.info('info级别的')
logger.error('error级别')
logger.debug('debug级别')
logger.warning('warning级别')

来一个简单的,可以直接使用的


import logging LOG_FORMAT = "%(asctime)s - %(levelname)s - %(filename)s, line:%(lineno)d - %(message)s"
DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
formatter = logging.Formatter(fmt=LOG_FORMAT, datefmt=DATE_FORMAT)
# 输出到控制台
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter) logger = logging.getLogger()
logger.addHandler(stream_handler)

python打印日志log的更多相关文章

  1. 打印日志 Log

    Log.v(tag,msg);所有内容 Log.d(tag,msg);debug Log.i(tag,msg);一般信息 Log.w(tag,msg);警告信息 Log.e(tag,msg);错误信息

  2. Android学习----打印日志Log

    Log.v(tag,msg);所有内容 Log.d(tag,msg);debug Log.i(tag,msg);一般信息 Log.w(tag,msg);警告信息 Log.e(tag,msg);错误信息 ...

  3. Node: 通过Console打印日志 (Log Message via Console)

    In normal development, we are likely to use 'console.log' for message logging, yet it's simple, we a ...

  4. 大数据项目中js中代码和java中代码(解决Tomcat打印日志中文乱码)

    Idea2018中集成Tomcat9导致OutPut乱码找到tomcat的安装目录,打开logging.properties文件,增加一行代码,覆盖默认设置,将日志编码格式修改为GBK.java.ut ...

  5. Python中logging在多进程环境下打印日志

    因为涉及到进程间互斥与通信问题,因此默认情况下Python中的logging无法在多进程环境下打印日志.但是查询了官方文档可以发现,推荐了一种利用logging.SocketHandler的方案来实现 ...

  6. 【踩坑记录】记录一次使用Python logging库多进程打印日志的填坑过程

    背景: 项目使用Python自带的logging库来打印日志 项目部署在一台Centos7的机器上 项目采用gunicorn多进程部署 过程: 1.LOG日志代码封装: 采用logging库,并设置w ...

  7. Log打印日志遇到的问题

    Log日志打印出现空指针问题 AndroidRuntime(372): Caused by: java.lang.NullPointerException: println needs a messa ...

  8. rsyslog 不打印日志到/var/log/messages

    *.info;mail.none;authpriv.none;cron.none;local3.none /var/log/messages 表示 所有来源的info级别都记录到/var/log/me ...

  9. 解决多个py模块调用同一个python的logging模块,打印日志冲突问题

    前期对python中的logging模块进行了封装,这样自动化测试框架中的多个测试脚本(py)就可以使用同一个封装后的日志系统,这样各脚本中只需要引用一下即可,方面快捷.那么当我使用unittest框 ...

随机推荐

  1. Linux双网卡bond、起子接口

    适用场景 服务器两张网卡需要做bond,并且bond后网卡需配置不同网段的地址,用于走不同流量,这个时候就可以采用起子接口的方式. 实验场景 设备 服务器:Server_A 核心交换机:Switch_ ...

  2. queue的使用-Hdu 1702

    ACboy needs your help again! Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  3. 「CSP-S模拟赛」2019第二场

    目录 T1 Jam的计数法 题目 考场思路(正解) T2 「TJOI / HEOI2016」排序 题目 考场思路(假正解) 正解 T3 「THUWC 2017」随机二分图 题目 考场思路 正解 这场考 ...

  4. Ubuntu16 nginx 配置 Let's Encrypt 免费ssl

    每篇一句 Some of us get dipped in flat, some in satin, some in gloss. But every once in a while you find ...

  5. 全排列dfs

    #include <iostream> #include <vector> using namespace std; vector<int> ans; const ...

  6. Python:列表类型

    概念 列表:有序的,可变的,元素集合 因为列表和字符串都是序列类型,所以很多操作和字符串很相似 但是注意:列表是可变类型,字符串是不可变类型 定义 基本定义 定义方法:[ 元素1, 元素2, .... ...

  7. Emprie 使用基础笔记

    0x01 简介 empire 是一个后渗透攻击框架,具有加密通信和灵活框架的功能.Empire可以在不需要Powershell.exe的情况下执行PowerShell代理,后期利用的模块很强大,如sc ...

  8. 常用es5和es6语法区别,以及三个点的用法

    链接:https://www.jianshu.com/p/b4d48e9846e7 //三个点 链接:https://blog.csdn.net/qiladuo1207/article/details ...

  9. CSS——textarea多行文本框禁止拖动问题解决

    文本框这样配置就好 textarea{ resize:none; }

  10. ResultSet指针回到初始位置的方法及ResultSet介绍

    原文地址: https://blog.csdn.net/walkerjong/article/details/7023872 仅供学习参考使用. 结果集(ResultSet)是数据中查询结果返回的一种 ...