[英]Asterisk agi write variables to log files
我正在將 phpagi 用於 Asterisk Vicidial。 我需要通過在執行程序時將一些變量值寫入外部日志文件來跟蹤其中一個類。
我嘗試了以下兩種方法,但都阻止了應用程序的執行。
第一的:
file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) : int
第二:
print_r(variable, value)
任何有關如何在日志文件上寫入變量值的幫助將不勝感激。
在 Vicidial AGI 腳本中使用已經可見和可用的 agi 日志記錄功能。 您可以在系統上的任何一個 AGI 腳本中找到特定於您的 Vicidial 腳本版本的版本。
該函數將如下所示:
sub agi_output
{
if ($AGILOG >=2)
{
### open the log file for writing ###
open(Lout, ">>$AGILOGfile")
|| die "Can't open $AGILOGfile: $!\n";
print Lout "$now_date|$script|$agi_string\n";
close(Lout);
}
### send to STDERR writing ###
if ( ($AGILOG == '1') || ($AGILOG == '3') )
{print STDERR "$now_date|$script|$agi_string\n";}
$agi_string='';
}
執行將類似於:
if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;}
你不能只是 print_r 到標准輸出,因為標准輸出去 AGI 傳入並控制星號。
使用 stderr 或寫入日志文件。 當您寫入日志文件時,請記住,在 asterisk 用戶下運行的星號。 所以只需提供正確的權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.