`

py日志输出

 
阅读更多

下面我们看一个更标准的程序:

>>> import logging

>>> logger=logging.getLogger()

>>> handler=logging.FileHandler("Log_test.txt")

>>> logger.addHandler(handler)

>>> logger.setLevel(logging.NOTSET)

>>> logger.error("This is an error message")

>>> logger.info("This is an info message")

>>> logger.critical("This is a critical message")

    日志文件中会出现三行内容:

This is an error message

This is an info message

This is a critical message

 

 

======================================

#!/usr/bin/python

import logging

fname1 = 'test1.txt'
fname2 = 'test2.txt'
def iniLog():
    logger = logging.getLogger()    #起个logger
    filehandler = logging.FileHandler(fname1)    #handler有多种,filehandler,streamhandler==
    streamhandler = logging.StreamHandler()
    fmt = logging.Formatter('%(asctime)s, %(funcName)s, %(message)s')    #格式化日志
    logger.setLevel(logging.DEBUG)   #设置级别
    logger.addHandler(filehandler)    #挂上handler
    logger.addHandler(streamhandler)
   
    return logger


#This function does nothing if the root logger already has handlers configured.这个是文档上的原话,哈哈

logging.basicConfig(filename=fname2, level=logging.INFO)   
logging.info("do 1")  #这个调用和下面那个结果可是不一样的,这个只写file2,并且不会在终端打印日志

logger = iniLog()
logger.info("do 2")  #这个往两个file都写,并且向终端打印日志

 

 

 

 

================================

python print 输出到文件中   

2009-04-23 14:49:57 |  分类: Linux学习 | 字号   订阅

c="a string to print to file"
f=open('out.txt','w')
print >>f,c
f.close()

 

 

 

============================

import logging
import urllib, os
import sys

LOGPATH = os.path.abspath(os.path.dirname(sys.argv[0]))+'\com_server.py.log'
def logger_constructor():
    logger = logging.getLogger()
    hdlr = logging.FileHandler(LOGPATH)
    formatter = logging.Formatter(u'[%(asctime)s]%(levelname)-8s"%(message)s"','%Y-%m-%d %a %H:%M:%S')
    
    hdlr.setFormatter(formatter)
    logger.addHandler(hdlr)
    logger.setLevel(logging.NOTSET)

    return logger

global_logger = logger_constructor()

def trace_log(msg):
    global_logger.debug(msg)

def DEBUGMSG(s):
    s = s.replace('\r','').replace('\n','')
    if (s):
        print "%s: %s" % (time.ctime(), s)
        trace_log(s)


DEBUGMSG('kkkk')

 

 

============================

发现python里面扩展了日志打印功能 。感觉比java自带的还好,和log4j很类似。
下面总结 下其用法。先说一种不用 配置文件 的:
<log.py>

 1 #  -*- codin g: gb2312 -*-
 2 import  logging
 3
 4 logging.basicConfig(level = logging.INFO ,
 5                     for mat = ' %(asctime)s %(name)-12s %(levelname)-8s %(message)s ' ,
 6                     datefmt = ' %m-%d %H:%M ' ,
 7                     filename = ' ./AutoUpdate.log ' ,
 8                     filemode = ' w ' )
 9
10 console  =  logging.StreamHandler()
11 console.setLevel(logging.INFO)
12 formatter  =  logging.Formatter( ' %(name)-12s: %(levelname)-8s %(message)s ' )
13 console.setFormatter(formatter)
14 logging.getLogger( '' ).addHandler(console)
15
16
17 #
18 #  console = logging.StreamHandler()
19 #  console = setLevel(logging.DEBUG )
20 #  formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
21 #  console.setFormatter(formatter)
22 #  logging.getLogger('').addHandler(console)
23
24
25 def  getLogging(name):
26      return  logging.getLogger(name)


<test.py>

import  log

testlog 
=  log.getLogging( ' test ' )
testlog.error( 
" ~~~~~~~~~~~~~~test1. " )
testlog.info( 
" ~~~~~~~~~~~~~~test2. "  )
testlog.exception( 
" ~~~~~~~~~~~~~~~~~~~~~~~~~test3. " )

分享到:
评论

相关推荐

    log4py模块

    `log4py`允许通过配置文件来设定日志行为,如日志输出的位置、格式、级别等。这使得日志配置更加灵活,便于项目维护和管理。例如,可以在配置文件中定义多个日志输出目的地,如控制台、文件、网络等。 **3. 日志...

    logger.rar_Logger.py_sunlightek2_日志

    # 配置日志,设置日志级别、输出目的地等 logger.setup_logger('my_logger', 'my_log_file.log', level='INFO') # 使用日志 logger.info('这是信息级别的日志') logger.error('出现了一个错误!') ``` 总的来说,...

    使用Filter过滤python中的日志输出的实现方法

    当我们需要控制日志输出的详细程度时,`Filter`机制就显得非常有用。本文将详细介绍如何使用`Filter`过滤Python中的日志输出,提供几种实用的方法。 首先,Python的`logging`模块提供了丰富的日志管理功能,包括...

    Python的log日志脚本.py

    里面包含终端日志和输出文件日志;

    absl_py-2.1.0-py3-none-any.whl.zip

    1. **Logging:** 提供了一种更高级的logging接口,增强了日志记录的功能,如时间戳、颜色输出和调试级别控制。 2. **Flags:** 提供命令行标志处理,使得参数配置更为灵活,支持在不同环境之间切换。 3. **Test...

    python 日志功能

    Python中的日志功能是软件开发过程中的重要组成部分,它...以上代码展示了如何配置log4py以输出到控制台和文件,并限制日志文件大小和备份数量。通过这种方式,你可以轻松地在Python项目中实现复杂而高效的日志管理。

    PyPI 官网下载 | structlog-21.1.0-py2.py3-none-any.whl

    传统的日志记录方式往往只能输出文本信息,而`structlog`通过将日志数据结构化,使得日志信息更便于分析和处理。结构化的日志数据可以方便地进行筛选、过滤,甚至可以用于后期的数据分析,这对于大型复杂项目的监控...

    absl-py-0.5.0.tar.gz

    2. **日志记录**:absl-py 包含一个强大的日志模块,它允许开发者根据严重程度(如 info、warning、error)进行日志记录,并且可以方便地控制输出级别和格式,有助于调试和问题排查。 3. **命令行参数解析**:absl-...

    Python库 | py_exceptions-1.1.0-py3-none-any.whl

    这些工具可能包括异常的记录、日志输出、邮件通知等功能,帮助开发者更好地追踪和诊断问题。 4. **上下文管理器**:库中可能会包含一些实现了`__enter__`和`__exit__`方法的类,它们可以作为上下文管理器使用。在`...

    flask项目配置log日志打印.zip

    4. **添加日志处理器**:日志处理器负责实际的日志输出,比如写入文件或发送到标准输出。常见的处理器有`StreamHandler`(输出到控制台)和`FileHandler`(输出到文件)。 ```python handler = logging....

    rlogger-py-源码.rar

    《rlogger-py:深入解析Python日志记录库》 ...无论是优化日志输出、调试代码还是构建日志监控系统,"rlogger-py"都能提供强大的支持。同时,通过学习其设计思路,我们也能够提升自己在日志管理方面的专业技能。

    Python 实时日志监控

    `loguru`支持自定义日志级别、添加额外的字段、颜色化输出,甚至可以方便地将日志输出到数据库或发送邮件。 在日志监控的实时性方面,可以结合操作系统工具如`tail`命令,实时查看日志文件的最新内容。例如,在...

    python 用到的systrace.py

    这些日志包含了系统各组件在特定时间内的活动情况,这对于识别性能瓶颈和调试延迟问题非常有帮助。 ### 使用`systrace.py` 1. **安装和设置**:确保你已经安装了最新版本的Android SDK,并且在PATH环境变量中包含...

    shell脚本按当前日期输出日志的实现

    本篇文章将详细介绍如何利用shell脚本来根据当前日期输出日志。 首先,让我们了解shell脚本的基本元素。一个简单的shell脚本通常包含变量定义、命令执行和控制结构。在描述的示例中,我们看到一个简单的脚本片段: ...

    PyPI 官网下载 | SingleLog-1.1.0-py2.py3-none-any.whl

    2. **多级别日志**:通过设置日志级别,可以方便地控制哪些信息被记录,哪些被忽略,从而优化日志输出。 3. **颜色编码**:为了提高可读性,SingleLog可能支持颜色编码日志,比如用不同的颜色区分不同级别的日志。 ...

    py源码实例Python批量新建文件夹并保存日志信息

    根据提供的文件信息,本文将详细解释如何利用Python批量创建文件夹并...以上就是关于“py源码实例Python批量新建文件夹并保存日志信息”的详细介绍。掌握了这些知识点后,你就可以轻松地利用Python来提高工作效率了。

    Python库 | oslo.log-3.45.0-py2.py3-none-any.whl

    5. **多输出支持**:oslo.log不仅可以将日志输出到标准输出,还可以写入文件、发送到网络服务器或者其他的日志收集系统,如syslog。 6. **异常处理**:当发生异常时,oslo.log可以自动记录堆栈跟踪,帮助开发者快速...

    PyPI 官网下载 | redis-py-cluster-1.1.0.tar.gz

    3. **数据持久化**:Redis-Py-Cluster支持Redis的数据持久化选项,如RDB快照和AOF日志,以保证数据在系统故障后的恢复。 4. **故障检测与恢复**:库内建了监控机制,可以检测到节点故障,并自动重定向请求到其他...

    Python库 | logging_helper-1.6.0-py2.py3-none-any.whl

    2. **日志级别管理**:除了Python标准的日志级别(DEBUG、INFO、WARNING、ERROR、CRITICAL),`logging_helper`可能还增加了自定义级别,便于更细粒度地控制日志输出。 3. **多输出支持**:支持同时向多个目的地...

    三洋PY0编程使用软件

    它能接收输入信号,根据预设的程序逻辑执行操作,并向输出设备发送指令。这类控制器通常应用于制造业、物流、能源管理等多个领域,通过精确控制实现高效运行。 【三洋PY0编程使用软件】的核心功能包括以下几个方面...

Global site tag (gtag.js) - Google Analytics