python Loggers类
时间: 2023-09-27 16:03:53 浏览: 39
Loggers类是Python中logging模块的一个重要类,用于创建和管理日志记录器。通过Loggers类,可以配置不同的日志记录器来输出不同的日志信息。可以使用不同的名字来获得不同的logger对象,并按模块来分类日志。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Python Logging Loggers](https://blog.csdn.net/claroja/article/details/102600027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
python, 带参数的装饰器
带参数的装饰器是指在装饰器函数中传入参数,并根据这些参数对被装饰的函数进行特定的操作或修改。下面是一个示例:
```python
def loggers(msg):
def decorator(func):
def wrapper(*args, **kwargs):
print(msg.format(*args, **kwargs))
return func(*args, **kwargs)
return wrapper
return decorator
@loggers(msg='hello {}')
def demo(name):
"""演示函数"""
print("你好%s" % name)
return "wxhou"
if __name__ == '__main__':
demo('wxhou')
```
在上面的示例中,`loggers`是一个带参数的装饰器函数,它接受一个`msg`参数。装饰器函数内部定义了一个`decorator`函数,它接受被装饰的函数`func`作为参数。`decorator`函数内部又定义了一个`wrapper`函数,它接受任意数量的位置参数`*args`和关键字参数`**kwargs`。在`wrapper`函数中,首先打印出传入的`msg`参数,并调用被装饰的函数`func`,最后返回函数的返回值。
在示例中,我们使用`@loggers(msg='hello {}')`将`demo`函数装饰起来,传入的参数`msg`为`'hello {}'`。当调用`demo`函数时,会先打印出`'hello wxhou'`,然后再执行`demo`函数的内容。
python中的loggin的json配置
Python 的 logging 模块可以通过配置文件来设置日志的输出格式、级别、输出位置等信息。其中,JSON 格式的配置文件可以更加灵活地配置日志信息。
以下是一个简单的 JSON 配置文件示例:
```json
{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"simple": {
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"level": "DEBUG",
"formatter": "simple",
"stream": "ext://sys.stdout"
},
"file": {
"class": "logging.handlers.RotatingFileHandler",
"level": "DEBUG",
"formatter": "simple",
"filename": "example.log",
"maxBytes": 10485760,
"backupCount": 5,
"encoding": "utf8"
}
},
"loggers": {
"example": {
"level": "DEBUG",
"handlers": ["console", "file"],
"propagate": "no"
}
}
}
```
该配置文件中包含了以下几个部分:
- `"version"`:配置文件的版本号,目前只有 1 个版本;
- `"disable_existing_loggers"`:是否禁用已经存在的 logger。如果设置为 `true`,则会禁用默认的 root logger;
- `"formatters"`:日志格式;
- `"handlers"`:日志输出位置;
- `"loggers"`:具体的 logger 配置。
在上面的配置文件中,定义了一个名为 `"example"` 的 logger,它的日志级别为 `DEBUG`,并且输出到控制台和文件中。同时,还定义了一个 `"simple"` 格式,它包含了日志的时间、logger 名称、日志级别和日志信息。
要使用 JSON 格式的配置文件,可以使用 `fileConfig` 函数来加载配置:
```python
import logging.config
logging.config.fileConfig('logging.json')
logger = logging.getLogger('example')
logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')
```
在上面的代码中,使用 `fileConfig` 函数加载名为 `logging.json` 的配置文件,并使用 `getLogger` 函数获取名为 `"example"` 的 logger,通过 logger 输出日志信息。
需要注意,使用 JSON 配置文件时,需要将配置文件中的每个部分都填写完整,否则会出现解析错误。此外,也可以使用其他格式的配置文件,例如 INI 格式的配置文件。