python单例模式实现日志记录(logging模块应用)

简介: 通过单例模块实现日志记录,代码如下:import loggingclass Logger(object): def __init__(self): self.

通过单例模块实现日志记录,代码如下:

import logging

class Logger(object):
    def __init__(self):
        self.log_file_path = "./test.log"
        file_handler = logging.FileHandler(self.log_file_path, 'a', encoding='utf-8')
        file_handler.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(filename)s[line: %(lineno)d] :  %(message)s"))

        self.logger = logging.Logger('cmdb', level=logging.INFO)
        self.logger.addHandler(file_handler)


    def info(self,msg):
        self.logger.info(msg)
    def error(self,msg):
        self.logger.error(msg)

logger = Logger()

日志记录的变量请参考: https://www.jianshu.com/p/d5ed1d5bc976 #十二、logging模块

引用:

from .logger import logger

if __name__ == '__main__':
    logger.info("hello world")

日志输出:

2018-10-22 12:24:37,510 - cmdb - INFO - logger.py[line: 16] :  hello world
2018-10-22 12:26:18,157 - cmdb - ERROR - logger.py[line: 18] :  hello world
2018-10-22 14:00:05,689 - cmdb - ERROR - logger.py[line: 19] :  hello world
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
Java Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之部署python项目时,构建过程报错,怎么解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1天前
|
存储 Serverless 数据库
Serverless 应用引擎产品使用合集之在Python中,如何实现SSE
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2天前
|
缓存 开发者 Python
Python中的装饰器应用及性能优化
本文探讨了Python中装饰器的作用以及如何应用装饰器来提高代码的可读性和灵活性。同时,我们还将介绍一些性能优化的技巧,帮助开发者更好地理解和利用装饰器来提升Python程序的执行效率。
|
3天前
|
API 开发者 UED
Python在游戏开发中的应用?
【6月更文挑战第10天】Python在游戏开发中的应用?
5 1
|
3天前
|
人工智能 数据可视化 开发者
|
3天前
|
存储 算法 搜索推荐
掌握区间合并:解决实际问题的算法策略和应用案例【python LeetCode题目56】
掌握区间合并:解决实际问题的算法策略和应用案例【python LeetCode题目56】
|
3天前
|
存储 算法 安全
LeetCode 题目 49:字母异位词分组 5种算法实现与典型应用案例【python】
LeetCode 题目 49:字母异位词分组 5种算法实现与典型应用案例【python】
|
3天前
|
存储 算法 数据可视化
【贪心算法经典应用】活动选择详解 python
【贪心算法经典应用】活动选择详解 python
|
3天前
|
存储 算法 数据挖掘
【贪心算法经典应用】哈夫曼编码原理与算法详解 python
【贪心算法经典应用】哈夫曼编码原理与算法详解 python
|
3天前
|
存储 算法 数据挖掘
leetcode第十七题:解密电话号码的字母组合与应用【python】
leetcode第十七题:解密电话号码的字母组合与应用【python】