我的项目结构是
project
|
|---------src
| |
| |---------logging.py
|
|--------logs.yaml
#logs.yaml
version: 1
formatters:
simple:
format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
handlers:
console:
class: logging.StreamHandler
level: DEBUG
formatter: simple
stream: ext://sys.stdout
info_file_handler:
class: logging.handlers.RotatingFileHandler
level: INFO
formatter: simple
filename: /tmp/info.log
maxBytes: 10485760 # 10MB
backupCount: 20
encoding: utf8
error_file_handler:
class: logging.handlers.RotatingFileHandler
level: ERROR
formatter: simple
filename: /tmp/errors.log
maxBytes: 10485760 # 10MB
backupCount: 20
encoding: utf8
missed_eopatch_handler:
class: logging.handlers.RotatingFileHandler
level: WARNING
formatter: simple
filename: /tmp/eopatch_warnings.log
maxBytes: 10485760 # 10MB
backupCount: 20
encoding: utf8
loggers:
missed_eopatch:
level: WARNING
handlers: [missed_eopatch_handler, console]
propagate: no
root:
level: INFO
handlers: [console, info_file_handler, error_file_handler, missed_eopatch_handler]
#logging.py
with open('../logging.yaml', 'r') as f:
log_cfg = yaml.safe_load(f.read())
logging.config.dictConfig(log_cfg)
logger = logging.getLogger(__name__)
这似乎不会在tmp
文件夹中生成任何文件。我在project
文件夹或src
文件夹中创建了tmp
文件夹,但在tmp
文件夹中未创建任何日志文件。如果我没有给tmp
文件夹,那么日志文件将在src
文件夹中创建。我想在project/tmp
文件夹下创建日志文件
您可能在系统的tmp文件夹中创建了日志文件。相对目录
../tmp
应该可以工作以“错误文件处理程序”为例。假设您的配置是这样的。唯一的区别是删除了文件名的前导斜杠
以下是处理此问题的代码:
相关问题 更多 >
编程相关推荐