欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Python】多个py文件使用同一个logging文件

程序员文章站 2024-01-26 22:07:05
...

文章目录


多个py文件使用一个logging设置,输出到同一个log日志文件里.

主.py

主文件,里面主要是配置logging

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@Time    : 2019/10/21 10:15
@Author  : YuJinNeng
@Site    :
@File    : common_log.py
@Software: PyCharm
"""

import logging
class MyLogging:
    # 初始化日志
    def __init__(self):
        self.logPath = r'D:/Company_Code/All_Python_Code/日期排序/十月/多个文件使用logging/'
        self.logName = 'xxx.log'
        self.logFile = self.logPath + self.logName
        # 日志的输出格式
        logging.basicConfig(
            level=logging.DEBUG,  # 级别:CRITICAL > ERROR > WARNING > INFO > DEBUG,默认级别为 WARNING
            format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s:  %(message)s',
            datefmt='%Y-%m-%d %H:%M:%S',
            filename=self.logFile,
            filemode='a')

    def write_logger(self, content):
        logging.debug(content)
        # 可以写其他的函数,使用其他级别的log  
        
    def error_logger(self,content):
        logging.error(content)
    

这里

    def write_logger(self, content):
        logging.debug(content)
        # 可以写其他的函数,使用其他级别的log  
        
    def error_logger(self,content):
        logging.error(content)
    

在pycharm里
会提示,

method may be static

其实解决方案也简单,删掉self,加一个@staticmethod就好了

    @staticmethod
    def write_logger(content):
        logging.debug(content)

    @staticmethod
    def error_logger(content):
        logging.error(content)

其他文件

t_log2.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@Time    : 2019/10/21 10:23
@Author  : YuJinNeng
@Site    : 
@File    : t_log2.py
@Software: PyCharm
"""
import common_log
myLogger = common_log.MyLogging()
myLogger.write_logger("debug错误")

t_log3.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@Time    : 2019/10/21 10:28
@Author  : YuJinNeng
@Site    : 
@File    : t_log3.py
@Software: PyCharm
"""
import common_log
myLogger = common_log.MyLogging()
myLogger.error_logger("error错误")

t_log4.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@Time    : 2019/10/21 10:28
@Author  : YuJinNeng
@Site    :
@File    : t_log4.py
@Software: PyCharm
"""
import t_log2
import t_log3

xxx.log

2019-10-21 10:56:10 common_log.py[line:79] DEBUG:  debug错误
2019-10-21 10:56:31 common_log.py[line:82] ERROR:  error错误
2019-10-21 10:59:30 common_log.py[line:79] DEBUG:  debug错误
2019-10-21 10:59:30 common_log.py[line:82] ERROR:  error错误

符合预期,感觉还可以优化