我的WordPress应用程序正在ECS实例上运行,并且我还为基本的日志记录信息设置了CloudWatch。
当一切运行正常时,这没关系,但是当我遇到错误时,我在日志中看到的只是类似
x.x.x.x--[21 / Jan / 2019:08:03:00 + 0000]“ POST /wp-admin/user-new.php HTTP / 1.1” 400 5 ....
创建新用户时发生了什么,但是发生了错误。哪一个,我不知道。
因此,我想输出STDOUT
中发生的所有错误,以便可以在常规日志(the twelve factor app - logging)中看到它们。
我也在考虑实现独白,但这似乎会花费太多时间,而且我需要快速解决问题。
通过挖掘WP核心代码,我发现在wp-includes/load.php
中我拥有
if ( WP_DEBUG_LOG ) {
ini_set( 'log_errors', 1 );
ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
}
因此,error_log
默认在debug.log
中写入错误和通知。
我可以用类似的东西覆盖吗
ini_set( 'error_log', fwrite( STDOUT, WP_CONTENT_DIR . '/debug.log' ) );
是在我的插件中还是在我的wp-config.php
中?还是我需要做些其他事情?通常,我想避免一起创建debug.log
文件,而只将错误输出到STDOUT
。
好的,所以在我得到
时,将上面的代码放在wp-config.php
中是行不通的
使用未定义的常量STDOUT
使用未定义的常量WP_CONTENT_DIR
和
:fwrite()期望参数1为资源,字符串为
警告...
答案 0 :(得分:0)
这显然可以解决问题:
# Includes the autoloader for libraries installed with composer
require __DIR__ . '/vendor/autoload.php';
putenv('GOOGLE_APPLICATION_CREDENTIALS=../service-account.json');
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);
$client->refreshTokenWithAssertion();
$token = $client->getAccessToken();
$accessToken = $token['access_token'];
感谢Sarah Pantry在Facebook上提供了摘录:)