loguru.logger的name,是什么值,怎么设置
时间: 2024-05-12 17:14:03 浏览: 4
loguru.logger的name是用来标识日志记录器的名称,用于在日志输出中区分不同的记录器。默认情况下,loguru会使用记录器函数所在的模块的名称作为记录器名称。
如果需要自定义记录器名称,可以使用`logger.bind()`方法来绑定一个名称,例如:
```
import loguru
logger = loguru.logger.bind(name="my_logger")
logger.info("Hello, world!")
```
这样就会在日志输出中使用`my_logger`作为记录器名称。
相关问题
loguru的name是什么
loguru是一个Python的日志库,它没有固定的名称,可以在使用时自定义。默认情况下,loguru会将日志输出到控制台,并且日志等级为INFO。如果需要输出到文件或者设置其他的日志等级,可以通过代码进行配置。例如:
```python
from loguru import logger
logger.add("file.log", level="DEBUG", format="{time} {level} {message}", rotation="10 MB")
```
这段代码将会将日志输出到文件file.log中,日志等级为DEBUG,格式为"{time} {level} {message}",并且当文件大小达到10MB时会自动进行轮转。
loguru中使用logger.contextualize 和 extra的区别
在Loguru中,logger.contextualize和extra都可以用于向日志记录中添加额外的信息,但它们的作用略有不同。
logger.contextualize可以用于对Logger对象进行上下文化处理,从而将某些信息添加到所有该Logger实例产生的日志记录中。例如,以下代码将在所有loguru日志记录中添加"module"和"function"信息:
```
from loguru import logger
logger = logger.contextualize(module=__name__, function="main")
logger.info("Hello, world!")
# 输出:2021-08-20 15:30:00.000 | INFO | __main__:<module>:6 - Hello, world!
```
可以看到,"module"和"function"信息被自动添加到日志记录中。
而extra则是在每次调用logger时,手动添加一些额外的信息。例如,以下代码将在某个特定的loguru日志记录中添加"username"和"ip_address"信息:
```
from loguru import logger
def login(username, ip_address):
logger.info("User logged in", extra={"username": username, "ip_address": ip_address})
login("user123", "192.168.1.1")
# 输出:2021-08-20 15:30:00.000 | INFO | __main__:<module>:6 - User logged in, username=user123, ip_address=192.168.1.1
```
可以看到,在调用logger.info时,我们手动添加了"username"和"ip_address"信息,这些信息会被添加到该条日志记录中。
综上所述,logger.contextualize和extra都可以用于添加额外信息,但它们的作用略有不同:logger.contextualize是对Logger对象进行上下文化处理,从而将某些信息添加到所有该Logger实例产生的日志记录中,而extra则是在每次调用logger时,手动添加一些额外的信息。