我正在处理使用logger的路径问题。好吧,我已经创建了一个位于文件logger.py
中的记录器类,我想要做的就是在我的项目中使用记录器。结构如下:
project/
/docs
/log
/dir1
/dir2
__init__.py
a.py
...
__init__.py
b.py
logger.py
...
setup.py
好吧,问题是当我想在文件a.py
和b.py
中使用记录器时。我无法正确设置记录器输出路径。我发现相对路径的使用不是正确的方法。如何强制记录器将日志文件a.log
和b.log
放入/log
文件夹?在logger.py
文件中,我正在使用logging.FileHandler()
。提前谢谢。
更新
logger.py
:
class Logger:
LEVEL = logging.DEBUG
def __init__(self, name, logger_path, level=None):
self.logger = logging.getLogger(name)
formatter = logging.Formatter('%(asctime)s - %(name)s.%(lineno)d - [%(levelname)s] - %(message)s')
file_handler = logging.FileHandler("{0}/{1}.log".format(logger_path, name))
file_handler.setFormatter(formatter)
self.logger.addHandler(file_handler)
if level:
self.logger.setLevel(level)
else:
self.logger.setLevel(self.LEVEL)
我从a.py
传递了相对路径,当我从目录/dir2
运行脚本时,它工作正常。但它在项目的其他地方不起作用......