[英]Problems with setting up a Logger Class in Python
我有我创建的这个记录器类,它对于我拥有的项目非常适用,但是当我简单地将结构复制并粘贴到另一个项目中时,它将不起作用。 我尝试写入的日志没有出现在指定的文件中,也没有出现在控制台中。
这是代码:
import logging
class Logger:
def __init__(self, path=None, name=None):
format_string = '%(asctime)s : T%(relativeCreated)05ds : %(levelname)-8s - %(name)s : %(message)s'
format_date = '%Y-%m-%dT%H:%M:%S'
# BASIC CONFIG
if path is not None:
logging.basicConfig(filename=path, filemode='a', format=format_string, datefmt=format_date)
# START LOGGER
logger = logging.getLogger(name)
if path is None:
# DEFINE FORMAT
handler = logging.StreamHandler()
formatter = logging.Formatter(fmt=format_string, datefmt=format_date)
handler.setFormatter(formatter)
logger.addHandler(handler)
# LEVEL SET
logger.setLevel(logging.DEBUG)
logger.info('TEST')
self.logger = logging.getLogger(__name__)
self.logger.info(f'START NEW EXECUTION\n\n{"=" * 36}\n')
self.logger.info(f'START NEW EXECUTION\\n\\n{"=" * 36}\\n')
不会将任何内容打印到变量path
设置的文件中。 而且只有在我向记录器添加name
时才会发生这种情况。 为了避免编写Python模块日志,我添加了这个name
变量作为建议。
我感觉自己在做一些非常简单的事情(我刚刚开始使用日志记录模块),导致了这个问题,但是我看不到它,因为这个确切的结构在另一个项目中可以正常工作。
EDIT0:我的最终目标是拥有一个Logger类,我可以在任何项目中使用它,只需复制文件并以相同的方式使用它,如果任何人有类似的东西并且不介意共享,那么对我来说就足够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.