Python log 模块介绍

刚用Python log模块写了一个例子,记录一下。

import logging
import logging.handlers
import os
from datetime import datetime

basedir=r‘D:\log‘
LOG_LEVEL = 0
resultPath = os.path.join(basedir,‘result‘)
if not os.path.exists(resultPath):
    os.mkdir(resultPath)
LOG_PATH = os.path.join(resultPath, str(datetime.now().strftime(‘%Y-%m-%d-%H-%M-%S‘)))
if not os.path.exists(LOG_PATH):
    os.mkdir(LOG_PATH)
LOG_FILE_PATH = os.path.join(LOG_PATH, ‘output.log‘)
LOG_MAX_SIZE = 10*1024*1024
LOG_BACKUP_COUNT = 5
FILE_LOG_LEVEL = 10
STREAM_LOG_LEVEL = 20

class LOG:
    logger = None

    @staticmethod
    def getLogger():
        if LOG.logger is not None:
            return LOG.logger
        LOG.logger = logging.getLogger()
        LOG.logger.setLevel(LOG_LEVEL)
        Rthandler = logging.handlers.RotatingFileHandler(
            LOG_FILE_PATH,
            maxBytes=LOG_MAX_SIZE,
            backupCount=LOG_BACKUP_COUNT,
            encoding=‘utf-8‘,
        )
        StreamHandler = logging.StreamHandler()
        formatter = logging.Formatter(
            ‘%(asctime)s-[%(levelname)s][%(module)s][%(funcName)s]-%(message)s‘)
        Rthandler.setFormatter(formatter)
        StreamHandler.setFormatter(formatter)
        Rthandler.setLevel(FILE_LOG_LEVEL)
        StreamHandler.setLevel(STREAM_LOG_LEVEL)
        LOG.logger.addHandler(Rthandler)
        LOG.logger.addHandler(StreamHandler)
        return LOG.logger

log=LOG.getLogger()
log.info(‘log test‘)

原文地址:https://www.cnblogs.com/frost-hit/p/8330978.html

时间: 2024-10-11 04:16:32

Python log 模块介绍的相关文章

python multiprocessing模块 介绍

一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_count\(\)查看),在python中大部分情况需要使用多进程. Python提供了multiprocessing. multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似. multiprocessing模块的功能众多:支持子进程.通信和共享数据.执行不同形式的同步,

Python常用模块介绍

python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能. * pickle: pickle模块被用来序列化python的对象到bytes流,从而适合存储到文件,网络传输,或数据库存

Python—time模块介绍

time 模块 在平常的代码中,我们常常需要与时间打交道.在Python中,常用的与时间处理有关的模块就包括:time,datetime,下面来介绍time模块. 在开始之前,首先要说明几点: 一.在Python中,通常有这几种方式来表示时间: 时间戳 格式化的时间字符串 元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能有所不同. 二.几个定义 UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间

Python os模块介绍

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') ? 1 os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类

python log模块

import logging #added by chowhan at 2017-05-03 import logging.handlers LOG_FILE = "/home/alice/tensorflow_logger.log" handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes = 1024*1024, backupCount = 5) # 实例化handler fmt = '%(asctime)s

python时间模块介绍

时间戳是以秒为单位的浮点小数,时间戳以自1970年1月1日午夜到现在经过了的时间来表示 时间模块使用方法:import time 常见函数如下: 1.time.time() 返回时间戳 2.time.localtime([secs]) 返回时间元组 3.time.mktime(tupletime) 返回时间戳 4.time.asctime([tupletime]) 返回形式为"Sat Jul 25 20:08:32 2015" 相当于ctime(time.mktime([tupleti

Python Fabric 模块 介绍及简单应用

来源:<Python自动化运维> Fabric的安装 Fabric支持pip.easy_install或源码安装方式,很方便解决包依赖的问题,具体安装命令如下( 根据用户环境,自行选择pip或easy_install): pip install fabric easy_install fabric Fabric依赖第三方的setuptools.Crypto.paramiko包的支持,源码 安装步骤如下: # yum -y install python-setuptools # wget htt

python __builtin__模块介绍

# encoding: utf-8# module __builtin__# from (built-in)# by generator 1.143 from __future__ import print_function """ Built-in functions, exceptions, and other objects. Noteworthy: None is the `nil' object; Ellipsis represents `...' in slice

python 的日志logging模块介绍

最近在写使用python生成App的程序,发现直接用print打印信息不太方便和规范,所以使用了logging日志模块,简单记录下用法,正式项目中应该使用logging.config配置日志,可以实现类似log4j的日志文件大小限制,格式控制,输出位置等. 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning(