python 通过logging写入日志到文件和控制台

#!/usr/bin/python
#-*- coding:utf-8 -*-

import logging

# 创建一个logger 
logger = logging.getLogger(‘mytest‘)  
logger.setLevel(logging.DEBUG)

# 创建一个handler,用于写入日志文件 
fh = logging.FileHandler(‘test.log‘)
fh.setLevel(logging.DEBUG)

# 再创建一个handler,用于输出到控制台 
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

# 定义handler的输出格式 
formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)
fh.setFormatter(formatter)
ch.setFormatter(formatter)

# 给logger添加handler 
logger.addHandler(fh)
logger.addHandler(ch)

# 记录一条日志 
logger.info(‘python logging test‘)

[[email protected] tmp]# python fun1.py

2015-06-16 09:09:03,732 - mytest - INFO - python logging test

[[email protected] tmp]# cat test.log

2015-06-16 09:09:03,732 - mytest - INFO - python logging test

时间: 2024-08-13 22:37:17

python 通过logging写入日志到文件和控制台的相关文章

C++/Php/Python/Shell 程序按行读取文件或者控制台

写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下.方便使用 1. C++ 读取文件 1 #include<stdio.h> 2 #include<string.h> 3 4 int main(){ 5 const char* in_file = "input_file_name"; 6 const char* out_file = "output_file_name"; 7 8 FILE *p_in = fopen(in_fi

python使用logging模块实现日志写入

python实现的logging写入日志的功能.logging模块还是挺好用的 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 # @Time : 2018/4/25 17:05 5 # @Author : zms 6 # @Site : 7 # @File : Log.py 8 # @Software: PyCharm Community Edition 9 10 import time 11 import logging 12 im

python学习-logging

"""#设置输出的日志内容格式fmt = '%(asctime)s %(filename)s %(funcName)s [line:%(lineno)d] %(levelname)s %(message)s'datefmt = '%a, %d %b %Y %H:%M:%S'"""# datetime === # 日志操作# .log 文件形式# 日志级别.时间.信息展示# 日志的作用:记录了执行过程.程序干了什么,做了什么事情. # 标准库 -

python标准日志模块logging及日志系统设计

转载:http://www.cnblogs.com/goodhacker/p/3355660.html python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用: 1 import logging 2 3 # 创建一个logger 4 logger = logging.getLogger('mylogger') 5 logger.setLevel(loggi

Python中将打印输出导向日志文件

Python中将打印输出导向日志文件 a. 利用sys.stdout将print行导向到你定义的日志文件中,例如: import sys # make a copy of original stdout route stdout_backup = sys.stdout # define the log file that receives your log info log_file = open("message.log", "w") # redirect pri

Python自带的日志模块logging的使用

import logging # 创建一个logger logger = logging.getLogger('cmccLogger') logger.setLevel(logging.DEBUG) # 创建一个handler,用于写入日志文件 fh = logging.FileHandler('test.log') fh.setLevel(logging.DEBUG) # 再创建一个handler,用于输出到控制台 ch = logging.StreamHandler() ch.setLeve

python的logging日志模块(二)

晚上比较懒,直接搬砖了. 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印:WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:

python的logging日志模块(一)

最近修改了项目里的logging相关功能,用到了Python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. # -*- coding: utf-8 -*- import logging import sys # 获取logger实例,如果参数为空则返回root logger logger = logging.getLogger("AppName")

python避坑指南02——logging模块日志重复打印问题

目录 [TOC] 一.问题抛出 python的logging模块是python使用过程中打印日志的利器.我们可以使用logging模块的logger.Handler.formatter对我们的日志进行封装,指定日志输出的路径.格式以及位置.在声明logger的时候可以传一个字符串作为这个logger的标签.一直以为这个logger是以单例对象的设计模式设计的,只要这个标签名是一样的,那么返回的logger就是同一个.在打印日志的时候,想要实现日志分层,定义类如下函数来封装日志打印函数(由于源代码