ai agent(智能体)开发 python高级应用9:JAVA 调用 python时 crawl4ai对日志输出的控制
我们在用Crawl4AI 0.6.3抓取数据时,会输出 抓取的log日志。我们需要把,无用的log 屏蔽掉,避免 java哪里获取到无用的信息。
·
我们在用Crawl4AI 0.6.3 抓取数据时,会输出 抓取的log日志。我们需要把,无用的log 屏蔽掉,
避免 java哪里获取到无用的信息。
AsyncWebCrawler
支持在初始化时传入自定义的 AsyncLoggerBase
实例。以下是具体实现步骤:
步骤 1:创建自定义 Logger 并设置日志级别
在初始化 AsyncWebCrawler
前,创建一个 AsyncLogger
实例,并将日志级别设为 ERROR
:
from crawl4ai import AsyncWebCrawler
from crawl4ai.async_logger import AsyncLogger, LogLevel
# 创建自定义 Logger,设置日志级别为 ERROR
custom_logger = AsyncLogger(
log_level=LogLevel.ERROR, # 关键参数
log_file="crawl.log", # 可选:日志文件路径
verbose=True # 可选:是否在控制台输出
)
步骤 2:将 Logger 传递给 AsyncWebCrawler
在初始化 AsyncWebCrawler
时,通过 logger
参数传入自定义的 Logger:
# 初始化爬虫并注入自定义 Logger
crawler = AsyncWebCrawler(
logger=custom_logger, # 注入 Logger
# 其他参数...
)
完整示例代码
from crawl4ai import AsyncWebCrawler
from crawl4ai.async_logger import AsyncLogger, LogLevel
# 1. 创建自定义 Logger,仅记录 ERROR 及以上级别
custom_logger = AsyncLogger(
log_level=LogLevel.ERROR,
log_file="crawl_errors.log",
verbose=True
)
# 2. 初始化爬虫并传入 Logger
crawler = AsyncWebCrawler(
logger=custom_logger,
max_concurrency=5
)
# 3. 运行爬虫(只有 ERROR 日志会输出)
result = await crawler.run(
url="https://example.com",
strategy="Screenshot",
timeout=60
)
关键点说明
-
日志级别生效范围:
- 设置为
LogLevel.ERROR
后,只有ERROR
、CRITICAL
、FATAL
等更高级别的日志会被记录。 - 低级日志(如
DEBUG
、INFO
)会被自动过滤。
- 设置为
-
文件与控制台输出:
- 如果
verbose=True
,日志会同时输出到控制台和文件(若配置了log_file
)。 - 若需仅记录到文件,可设置
verbose=False
。
- 如果
-
自定义 Logger 的灵活性:
- 支持自定义图标(
icons
参数)和颜色(colors
参数)。 - 示例:修改错误日志的颜色:
custom_logger = AsyncLogger( log_level=LogLevel.ERROR, colors={ LogLevel.ERROR: "magenta", # 将 ERROR 日志颜色设为洋红色 } )
- 支持自定义图标(
验证日志级别
运行后,控制台和日志文件将仅显示类似以下内容:
[ERROR]...... × Connection failed: Timeout
[CRITICAL]... ‼ Critical resource missing
低级日志(如 DEBUG
、INFO
)不再输出。
通过以上方法,即可在 Crawl4AI 0.6.3 中精准控制日志级别为 ERROR
,确保仅输出关键错误信息。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)