config参数' class'通过配置文件进行python日志配置,导致ImportError

时间:2018-03-28 14:08:40

标签: python logging

我试图通过扩展TimedRotatingFileHandler类并使用配置文件来配置日志记录来为我的项目配置日志记录。 配置文件很重要,因为我希望能够以这种方式配置我的日志记录,但是我遇到了导入错误,并且不知道如何使我的配置文件可以访问类名。

我得到的错误是..

File "C:\Python27\lib\logging\config.py", line 160, in _install_handlers
    klass = _resolve(klass)
  File "C:\Python27\lib\logging\config.py", line 101, in _resolve
    __import__(used)
ImportError: No module named rtlogHandler

项目/ cfg中/ log_config.ini

[handler_fileHandler]
class=common.rtlogHandler.rtLogFileHandler
level=DEBUG
formatter=logFormatter
args=('rtCompute', 'h', 1, 5)

我的日志课程 项目/ SRC /普通/ rtlogHandler.py

import logging
import datetime

# (filename, when='h', interval=1, backupCount=100, encoding=None, delay=False, utc=False)
class rtLogFileHandler(logging.handlers.TimedRotatingFileHandler):
    '''
    Extended to accommodate for current date and custom path for log file name
    '''
    def __init__(self, file_name, rotate_type, rotate_interval, no_of_backup):
        #   use timestamp in filename
        today = datetime.date.today()
        file_name = file_name + '_' + today.strftime('%Y-%m-%d')
        super(rtLogFileHandler, self).__init__(file_name, rotate_type, rotate_interval, no_of_backup)
    def print_me(self):
        print "print me from log file handler "

1 个答案:

答案 0 :(得分:0)

  1. 您在__init__.pyproject/src/common吗?
  2. project/src/common在路上吗? 您可以通过以下方式进行检查:print(sys.path) 您可以使用PYTHONPATH环境变量。