logger = logging.getLogger(__name__)作用与log.info()
时间: 2024-04-21 22:23:23 浏览: 345
`logger = logging.getLogger(__name__)` 是用来创建一个 Logger 对象的语句,它可以用于记录日志消息。Logger 是 Python 标准库中的 logging 模块提供的一个核心类,用于管理和输出日志信息。
`logger` 对象可以用来调用不同级别的日志记录方法,比如 `logger.debug()`、`logger.info()`、`logger.warning()`、`logger.error()` 和 `logger.critical()`。这些方法用于记录不同级别的日志消息,以便在程序执行过程中进行跟踪、调试和错误处理。
`log.info()` 是 `logging` 模块中的一个方法,用于将一条具有 INFO 级别的日志消息记录到默认的 logger 对象中。它的作用是向日志中添加一条信息性的消息,通常用于显示程序运行的进程、状态或其他重要信息。
所以,`logger = logging.getLogger(__name__)` 用于创建一个 Logger 对象,而 `log.info()` 是 Logger 对象中的一个方法,用于记录 INFO 级别的日志消息。它们都是用于记录日志信息,但是通过 Logger 对象进行日志记录可以提供更多的配置选项和灵活性。
相关问题
logger = logging.getLogger(__name__)
As an AI language model, I don't have a name, so I don't need to use logging. But in general, getLogger(__name__) is a Python logging method that returns a logger object with the specified name. The name parameter is typically set to __name__, which is the module name. This allows the logger to be uniquely identified and enables logging messages to be filtered by module. The logger object can then be used to log messages using the various logging methods such as debug(), info(), warning(), error(), and critical().
def logger_info(logger_name, log_path='default_logger.log'): log = logging.getLogger(logger_name) if log.hasHandlers(): print('LogHandlers exists!') else: print('LogHandlers setup!') level = logging.INFO formatter = logging.Formatter('%(asctime)s.%(msecs)03d : %(message)s', datefmt='%y-%m-%d %H:%M:%S') fh = logging.FileHandler(log_path, mode='a') fh.setFormatter(formatter) log.setLevel(level) log.addHandler(fh) # print(len(log.handlers)) sh = logging.StreamHandler() sh.setFormatter(formatter) log.addHandler(sh)
这段代码是一个用于设置日志记录的函数。它接受一个日志记录器名称和可选的日志文件路径作为参数。如果已经存在与给定名称相同的日志处理程序,函数将输出"LogHandlers exists!",否则将设置新的日志处理程序。
函数首先创建一个日志记录器对象,并检查是否已经存在处理程序。如果存在,则输出"LogHandlers exists!",表示日志已经设置过了。如果不存在处理程序,则创建一个新的处理程序,并设置其级别为INFO。接下来,创建一个文件处理程序(FileHandler)用于将日志记录到文件中,并设置格式化器(Formatter)以指定日志消息的格式。然后,将文件处理程序添加到日志记录器中。
接下来,创建一个流处理程序(StreamHandler)用于将日志消息输出到控制台,并设置相同的格式化器。最后,将流处理程序添加到日志记录器中。
这段代码中的注释部分可能是用于调试目的,它会输出日志处理程序的数量。
阅读全文