📜  Grav-调试和记录(1)

📅  最后修改于: 2023-12-03 15:31:03.941000             🧑  作者: Mango

Grav - 调试和记录

Grav是一个现代的开源CMS系统,它的核心定位在于速度和灵活性。与其他CMS系统不同,Grav通过面向对象的编程语言PHP和Markdown/HTML的模板语言提供一种现代化的Web开发框架。

在开发Grav应用程序时,使用调试工具和日志记录可以帮助您查找错误和改进性能。下面介绍Grav提供的调试和记录机制。

调试

Grav支持Xdebug,可以用于调试应用程序。在使用Xdebug前,需要在服务器和客户端之间建立一个调试会话(具体即为您的PHP开发环境中的IDE)

安装和配置Xdebug
  1. 安装Xdebug扩展。您可以从Xdebug的官方网站下载适合您PHP版本的扩展. 下载并解压最新的xdebug版本。

  2. 在PHP.ini文件中启用Xdebug。在“ Dynamic Extensions”下添加以下行:

    zend_extension="/path/to/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_port=9000
    
  3. 重新启动Web服务器,以使Xdebug配置生效。

将Grav设置为调试模式

有两种方式启用调试模式。第一种方式是在user/config/system.yaml中更改某些选项的值。例如,

debugger:
  enabled: true
  shutdown_close: false
  twig:
    cache: false
    debug: true

该配置意味着调试器和Twig模板的调试信息将打开。

第二种方式是在建立与博客平台的连接时,在命令行中传递相应的参数。

$ bin/grav install --debug
使用Tracy调试器

Tracy是一个强大的PHP调试工具,它可以在运行时捕获错误和异常,展示日志,跟踪网络请求等。Grav系统集成了一个Tracy插件包,应用程序开发人员可以使用它来调试自己的应用程序。

启用Tracy插件包需要在user/config/plugins中添加一个配置文件。例如,

enabled: true
plugins:
  - tracy:
      collect_vars: true
      show_dumper: true
      mode: dev
      output_compression: false
      ini:
        xdebug.var_display_max_data: 10000
日志记录

Grav是具有日志记录功能的模块化应用程序。默认情况下,Grav将所有警告,错误和致命错误记录到user/logs目录中的log.txt文件。您可以在user/config/system.yaml文件中设置日志级别和记录格式。

logs:
  # enabled: false
  severity: error
  rotate:
    enabled: true
    count: 10

Grav提供提供可配置的日志存储和实现文件旋转的默认实现。如果需要不同的记录方式,操作人员可以通过插件添加自定义的日志记录功能。

下面是一个使用日志插件向log.txt文件写入日志记录的例子:

$log = $this->grav['log'];
$log->info('this is a log message.');

在Grav中记录的日志信息既可以根据类别筛选,也可根据时间戳筛选。例如,您可以使用以下命令,显示最近5分钟的日志记录:

$ bin/grav cli logs --since 5m
结论

Grav提供了强大的调试和记录机制,它可以帮助您在应用程序中快速找到错误和调试信息。尽管Grav内置了Tracy、Xdebug和日志记录等强大的功能,但是仍然可以安装其他插件来增强其功能。因此Grav是一个出色的CMS系统,适合想要Web开发的程序员使用。