`

python 实现每天产生一个日志文件

阅读更多

    与java apache log4j的ConsoleAppender,RollingFileAppender类似,python也有自己的实现,分别是logging.StreamHandler(),logging.handlers.TimedRotatingFileHandler.

 

    下面是示例代码:

 

def script_path():
    path = os.path.realpath(sys.argv[0])
    if os.path.isfile(path):
	path = os.path.dirname(path)
    return os.path.abspath(path)

LOGGING_MSG_FORMAT  = '[%(asctime)s] [%(levelname)s] [%(module)s] [%(funcName)s] [%(lineno)d] %(message)s'
LOGGING_DATE_FORMAT	= '%Y-%m-%d %H:%M:%S'

logging.basicConfig(level=logging.DEBUG,format=LOGGING_MSG_FORMAT,datefmt=LOGGING_DATE_FORMAT)
log = logging.getLogger('xxx')
log_path = os.path.join(script_path(),'logs')
if not os.path.exists(log_path):
    os.makedirs(log_path)
log_file = os.path.join(log_path,'xxx.log')
logger = logging.handlers.TimedRotatingFileHandler(log_file,'midnight',1)
logger.setFormatter(logging.Formatter(LOGGING_MSG_FORMAT))
log.addHandler(logger)


console = logging.StreamHandler()
console.setLevel(logging.INFO)
console.setFormatter(logging.Formatter(LOGGING_MSG_FORMAT))
log.addHandler(console)

 

 

注意事项: 不要在多线程程序中使用addHandler,removeHandler,否则可能产生一些意想不到的异常。建议:全局只初始化一次logger实例

    

0
0
分享到:
评论

相关推荐

    利用python分析access日志的方法

    整体来看,本文介绍了利用Python实现对access日志的自动化分析过程,核心在于处理大量数据的日志文件,通过编写脚本快速定位并记录可能的Web攻击行为。这一过程涵盖了使用正则表达式匹配特定模式的字符串、合并文件...

    日志定时器

    从提供的压缩包文件名称来看,"TimeTask"可能是一个实现了定时任务功能的类或模块,它可能包含了创建和管理定时任务的代码。而"neusoftSN"和"neusoftQD"可能是针对不同场景或不同需求的日志配置,"SN"和"QD"可能是...

    行业文档-设计装置-日志数据写入方法和日志系统.zip

    3. **日志滚动与分割**:为了防止单个日志文件过大,日志系统通常会按照时间(如每天)或大小(如达到一定MB)进行日志文件的滚动和分割。 4. **日志存储**:日志可以存储在本地磁盘、网络文件系统、数据库或云存储...

    定时删除过期文件或指定文件

    例如,要删除所有超过7天的日志文件,批处理文件可能包含以下内容: ```batch @echo off setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir /b /a-d /o-d "C:\logs\*.log"') do ( set /a days_...

    统计一天的访问人数以及总访问数

    - 为了进行统计,首先需要收集分散在不同服务器或日志文件中的日志数据。这可以通过配置日志转发(如Fluentd、Logstash)或使用专门的日志管理服务(如ELK Stack:Elasticsearch, Logstash, Kibana)来实现。 3. *...

    学校健康系统自动打卡程序,selenium其实就是模拟人工点击而已.zip

    4. **日志文件**:运行脚本时产生的日志文件,记录了程序的执行过程和可能出现的错误,方便调试和问题排查。 5. **README.md或INSTALL.txt**:包含安装和使用指南的文本文件,解释如何配置和运行这个自动打卡程序。 ...

    APScheduler-3.0.1-py2.py3-none-any.whl.zip

    `.whl` 文件是 Wheel 格式的缩写,它是 Python 的二进制包格式,可以避免因编译源代码而产生的问题,特别是当目标系统缺乏编译环境时。`none-any` 部分表示这个包不依赖特定的 Python ABI(应用二进制接口)或平台,...

    数据分析与可视化数据.zip

    首先,"t_alibaba_data3.txt"可能是一个包含结构化数据的文本文件,常见于日志记录或交易数据。这类数据通常由逗号或制表符分隔,便于使用编程语言如Python的Pandas库进行读取。Pandas提供了read_csv或read_table...

    Azkaban任务调度安装配置和使用

    例如,假设某业务系统每天产生20GB的原始数据,对其处理流程如下: 1. **数据上传**:首先使用Hadoop将原始数据上传至HDFS; 2. **数据清洗与转换**:接着使用MapReduce对上传的数据进行清洗和转换,然后将清洗后的...

    计划任务实时抓取新闻

    这些工具可以设置周期性任务,比如每小时、每天或每周执行一次,或者按照更复杂的触发规则运行。 其次,"实时抓取"(Real-time Scraping)是网络爬虫技术的一个分支,它强调在数据产生的瞬间进行获取。这涉及到...

    Google Architecture.pdf

    - **定义**: Sawzall是Google开发的一种专门用于数据分析的语言,用于处理大规模的日志文件。 - **特性**: Sawzall具有强大的表达能力和高度的灵活性,能够快速地分析和处理大规模数据集。 #### 三、平台与工具 - ...

    搜索记录频繁模式挖掘1

    例如,Sogou搜索引擎在2006年8月的搜索日志可能包含这些字段,每条记录的大小在40MB到80MB之间,平均每天有50到80条记录。 2.2 数据获取 获取搜索记录数据通常涉及到从搜索引擎的日志服务器或者公开的数据源抓取。...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    出处:风流的CG网络日志 时间:Mon, 28 Aug 2006 07:24:34 +0000 作者:yufeng 地址:http:///read.php?38 内容: 提供给新手学习的 PHP新手教程,是一个比较有价值的PHP新手教程! 一、PHP简介 PHP是一种易于...

    Hadoop 权威指南(中文前三章)

    - **数据来源**: 数据来自各种各样的来源,包括但不限于金融交易(如纽约证券交易所每天产生的1 TB交易数据)、社交媒体(如Facebook存储了约100亿张照片)、家庭历史记录(如Ancestry.com存储了2.5 PB数据)、科学...

    分布式关系型计算

    - **负载情况**:每日处理数以亿计的文件,完成50000个作业任务,同时处理数十万条DDL(数据定义语言)指令及数万条DML(数据操纵语言)操作,每天产生的I/O流量达到PB级别。 - **人员配置**:数百名数据开发工程师...

    测试培训教材

    The VAPI-XP testing tool enables you to create new testing scripts using Microsoft VBScript, Microsoft JavaScript (JScript version), PerlScript, and PythonScript, and integrate these scripts into your...

Global site tag (gtag.js) - Google Analytics