📅  最后修改于: 2023-12-03 15:31:03.941000             🧑  作者: Mango
Grav是一个现代的开源CMS系统,它的核心定位在于速度和灵活性。与其他CMS系统不同,Grav通过面向对象的编程语言PHP和Markdown/HTML的模板语言提供一种现代化的Web开发框架。
在开发Grav应用程序时,使用调试工具和日志记录可以帮助您查找错误和改进性能。下面介绍Grav提供的调试和记录机制。
Grav支持Xdebug,可以用于调试应用程序。在使用Xdebug前,需要在服务器和客户端之间建立一个调试会话(具体即为您的PHP开发环境中的IDE)
安装Xdebug扩展。您可以从Xdebug的官方网站下载适合您PHP版本的扩展. 下载并解压最新的xdebug版本。
在PHP.ini文件中启用Xdebug。在“ Dynamic Extensions”下添加以下行:
zend_extension="/path/to/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port=9000
重新启动Web服务器,以使Xdebug配置生效。
有两种方式启用调试模式。第一种方式是在user/config/system.yaml
中更改某些选项的值。例如,
debugger:
enabled: true
shutdown_close: false
twig:
cache: false
debug: true
该配置意味着调试器和Twig模板的调试信息将打开。
第二种方式是在建立与博客平台的连接时,在命令行中传递相应的参数。
$ bin/grav install --debug
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开发的程序员使用。