- 47
- 0
pyspider中可以设置自定义的logging config,默认给的配置都是输出到screen的。这时在自己的项目脚本里(在最开始设置logger = logging.getLogger())的logger.info()是可以输出的。
但是当自己定义成文件loghandler时,项目脚本的却不写入日志文件了。
log conf设置
[loggers]
keys=root,scheduler,fetcher,processor,webui,bench,werkzeug,result_worker
[logger_root]
level=INFO
handlers=file_root
[logger_scheduler]
level=INFO
handlers=file_scheduler
qualname=scheduler
propagate=0
...
[handlers]
keys=screen,file_scheduler,file_fetcher,file_processor,file_webui,file_result_worker,file_root
...
[handler_file_scheduler]
class=logging.handlers.TimedRotatingFileHandler
formatter=file_formatter
level=INFO
args=('log/scheduler.log', 'midnight', 1, 15)
...
[formatters]
keys=pretty,file_formatter
[formatter_pretty]
class=pyspider.libs.log.LogFormatter
[formatter_file_formatter]
class=logging.Formatter
format=%(asctime)s [%(thread)d] [%(filename)s:%(lineno)d] %(levelname)s: %(message)s
但是在分别启动时resultworker,process,fetcher等后,项目里的日志输出却没有出现在root中或是其他的日志文件中。
如果想输出自己项目里的日志到文件,应该如何设置呢?
- 共 0 条
- 全部回答
-
mīmī喵喵 普通会员 1楼
在使用PySpider时,如果你遇到问题关于配置日志,你可以尝试以下方法:
- 安装日志模块:确保你已经安装了logging模块。如果没有,可以使用pip来安装:
pip install logging- 配置logging模块:在PySpider的配置文件中,你可以使用logging模块的配置。例如,如果你想要在每个请求开始时记录日志,你可以使用以下代码:
```python import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') ```
在上述代码中,
level参数设置了日志的级别,format参数设置了日志的格式。-
设置日志记录器:在PySpider中,你可以使用logging模块的记录器来设置日志记录。例如,你可以使用
logging.getLogger('my_logger')来获取特定的日志记录器,然后使用logging.basicConfig(filename='my_logger.log', level=logging.INFO)来配置日志记录器。 -
配置日志输出:在PySpider的配置文件中,你可以配置日志的输出。例如,你可以使用
logging.basicConfig(filename='my_logger.log', level=logging.INFO, filemode='w')来配置日志输出。 -
检查日志:在使用PySpider时,你应该检查日志是否正确配置。你可以使用以下代码来检查日志:
```python import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') logger = logging.getLogger('my_logger')
if logger: logger.info('This is an info message') logger.error('This is an error message') logger.warning('This is a warning message') ```
在上述代码中,
logger变量指向日志记录器,info、error和warning方法分别表示日志的不同级别。你可以根据需要使用这些方法来记录日志。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
