日志记录器级别:严重、错误、警告、信息、调试

logger模块用于记录log信息,使用前请导包import logger。

例一、

1、超级简单版logger.py:

def log_message(msg):
with open("test.log",'a+') as log_file:
log_file.write("{0}\n".format(msg))

2、新建一个main_script.py文件引入logger.py日志记录器

import logger

for i in range():
logger.log_message("log message {}".format(i))

3、运行后生成日志,没有日志级别的日志不是好日志,日志信息如下:

log message
log message
log message
log message

test.log

4、logger.py文件修改

def critical(msg):
with open("test.log",'a+') as log_file:
log_file.write("[CRITICAL]{0}\n".format(msg)) def error(msg):
with open("test.log",'a+') as log_file:
log_file.write("[ERROR]{0}\n".format(msg)) def warn(msg):
with open("test.log",'a+') as log_file:
log_file.write("[WARN]{0}\n".format(msg)) def info(msg):
with open("test.log",'a+') as log_file:
log_file.write("[INFO]{0}\n".format(msg)) def debug(msg):
with open("test.log",'a+') as log_file:
log_file.write("[DEBUG]{0}\n".format(msg))

logger.py

5、新建一个py文件,test_error_log.py

import logger

try:
a = /
except:
logger.error("something went wront")

6、运行test_error_log.py程序后查看log日志,

[ERROR]something went wron

7、logging第三方模块pip安装后可以这样用

import logging  # 引入logging模块
import os.path
import time
# 第一步,创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO) # Log等级总开关
# 第二步,创建一个handler,用于写入日志文件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
log_path = os.path.dirname(os.getcwd()) + '/Logs/'
log_name = log_path + rq + '.log'
logfile = log_name
fh = logging.FileHandler(logfile, mode='w')
fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关
# 第三步,定义handler的输出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
# 第四步,将logger添加到handler里面
logger.addHandler(fh)
# 日志
logger.debug('this is a logger debug message')
logger.info('this is a logger info message')
logger.warning('this is a logger warning message')
logger.error('this is a logger error message')
logger.critical('this is a logger critical message')

test_loggin.py

python--logging日志的更多相关文章

  1. python logging 日志轮转文件不删除问题

    前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logg ...

  2. Python logging日志系统

    写我小小的日志系统 配置logging有以下几种方式: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文件, ...

  3. python logging 日志轮转文件不删除问题的解决方法

    项目使用了 logging 的 TimedRotatingFileHandler : #!/user/bin/env python # -*- coding: utf-8 -*- import log ...

  4. Python logging(日志)模块

    python日志模块 内容简介 1.日志相关概念 2.logging模块简介 3.logging模块函数使用 4.logging模块日志流处理流程 5.logging模块组件使用 6.logging配 ...

  5. python logging日志模块

    一.logging模块的简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不 ...

  6. 管理 python logging 日志使用

    1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上INFO:确认一切按预期运行WA ...

  7. python logging 日志

    logging与print 区别,为什么需要logging? 在写脚本的过程中,为了调试程序,我们往往会写很多print打印输出以便用于验证,验证正确后往往会注释掉,一旦验证的地方比较多,再一一注释比 ...

  8. python logging日志库

    项目中使用的日志库是使用python官方库logging封装的,但是居然一直么有设置日志自动滚动,经常会受到告警说哪台机器磁盘空间又满,清理一下,于是研究一下,解决这个问题. 参考:https://d ...

  9. python logging 日志使用

    https://docs.python.org/3/library/logging.html1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRI ...

  10. Python logging日志管理

    import logging logger = logging.getLogger("simple_example") logger.setLevel(logging.DEBUG) ...

随机推荐

  1. Linux 小知识翻译 - 「SCP和SFTP」

    这次想说说「SCP和SFTP」. 不管SCP还是SFTP,都是SSH的功能之一.都是使用SSH协议来传输文件的. 不用说文件内容,就是登录时的用户信息都是经过SSH加密后才传输的,所以说SCP和SFT ...

  2. Nginx使用教程(六):使用Nginx缓存之FastCGI缓存

    启用FastCGI缓存 <br\>编辑必须启用缓存的虚拟主机配置文件. nano /etc/nginx/sites-enabled/vhost 将以下行添加到server{}指令之外的文件 ...

  3. MySQL高级知识(三)——索引

    前言:索引在sql调优部分占据着重要的位置,了解并深入索引对我们来说也是非常重要的.本篇主要介绍MySQL中索引的相关知识点. 1.索引是什么 MySQL官方对索引的定义:索引(Index)是帮助My ...

  4. WPF触发器(非数据库中的触发器)

    一.什么是触发器?触发器(Trigger)就是当某种条件满足后即完成相应逻辑功能的一部分程序组成.在当前的WPF中,Trigger一共有三种类型,它们分别是: (1)属性触发器:其对应的类是Trigg ...

  5. centos7下安装docker(17.3docker监控---cAdvisor)

    cAdvisor是google开发的容器监控工具 1.在host上运行cadvisor容器 docker run -d -p 8080:8080 --name cadvisor -v /:/rootf ...

  6. bootstrap-table 分页

    bootstrap-table   <!DOCTYPE html> <head> <meta charset="UTF-8"/> <tit ...

  7. P1316 丢瓶盖(二分+贪心)

    思路:都在注解里 #include<iostream> #include<algorithm> using namespace std; ; int a[maxn], n, m ...

  8. ssm框架的整合搭建(三)

    mybatis逆向工程工具类的使用---mybatis  generator 项目结构 配置文件 <?xml version="1.0" encoding="UTF ...

  9. 联想Y700安装显卡驱动和CUDA8.0

    一显卡驱动安装 1 安装驱动安装软件 2 自动检测下载对应版本驱动 3下载完成后,点击开始,解压出来临时安装文件 由于是临时安装文件,退出就会关闭 4所以在没有关闭情况下,打开重新打开一次setup, ...

  10. ssm框架整合+Ajax异步验证

    SSM框架是目前企业比较常用的框架之一,它的灵活性.安全性相对于SSH有一定的优势.说到这,谈谈SSM和SSH的不同点,这也是企业常考初级程序员的面试题之一.说到这两套框架的不同,主要是持久层框架Hi ...