php簡單日誌寫入函數,php 日誌記錄

本文目錄一覽:

PHP自帶的日誌是怎麼寫入和查看的呢

查看PHP錯誤日誌

可以在命令行裡面輸入: find . -name error.log

tailf -f error.log

寫入日誌,有固定的函數error_log($str, 3, filename)

php該在哪裡寫日誌?怎麼寫日誌?日誌是做什麼用的?

所謂的日誌就是記錄系統運行狀態的數據。

一般是將信息記錄到文本文件或資料庫中。

比如:

?php

function writeLog($msg){

$logFile = date(‘Y-m-d’).’.txt’;

$msg = date(‘Y-m-d H:i:s’).’ ‘.$msg.”\r\n”;

file_put_contents($logFile,$msg,FILE_APPEND );

}

//調用上面的函數,寫一條信息進日誌文件

writeLog(‘這是測試日誌信息’);

?

怎樣用php編寫一個寫日記功能的系統

我們要寫一個寫日誌的函數,首先需要了解需求,我們一般怎麼用日誌函數呢?例如,程序執行到某一步,我希望把這個變數(地址)$user_address的值列印到日誌,我們希望日誌里是這麼寫的:

`xx-xx-xx xx:xx $user_address : 上海市楊浦區xxxxx

然後每一條日誌都要換行,都有日期時間,

假設 函數名稱是log();

我們希望這麼調用他 log(『useraddress:user_address);

那如果$user_address 是一個數組,我想把一個數組的全都都輸出到日誌中,該怎麼辦呢?

有一個函數是print_r($arg,true),第二個參數表示不直接輸出,而是輸出的結果作為返回值.我們知道他的輸出結果為一段字元串.

log函數可以這麼寫

log(){

$args = func_get_args();//獲得傳入的所有參數的數組

$numargs = func_num_args(); //參數的個數

if ($numargs == 0) {

$log = “”;

} elseif ($numargs == 1) {

$log = $args[0];

} else {

$format = array_shift($args); //分割掉函數第一個元素,並且做返回值返回,’$user_address:%s’

$log = vsprintf($format, $args); //把參數代入$format中,

}

$log = date(“[Y/m/d H:i:s] “) . $log . PHP_EOL;//加上時間

$file = ‘/usr/share/nginx/html/log.log’;

$fp = fopen($file, ‘a’);

fwrite($fp, $log);

fclose($fp);

return true;

}

用法:

1.列印一般變數$a,

log(‘得到了$a的值:%s’,$a );

2 . 列印一個數組$arr

log(‘%s’,print_r($arr,true));

可以對上面的函數進行改進下

function log2($arg)

{

$log = vsprintf(‘%s’, print_r($arg, true));

$log = date(‘[Y/m/d H:i:s]’) .’—‘. $log . PHP_EOL;

$path = dirname(__FILE__) . ‘/log.log’;

$fp = file_put_contents( $path,$log, FILE_APPEND);

return true;

}

$a=[1,23,45,45];

log2($a);

寫幾個簡單php函數

?php

function pai( $NumStr ) {

 $Arr = preg_split(‘/[\,,]+/is’, $NumStr);

 $Ou  = $Ji = array();

 foreach( $Arr as $val ) {

  $val % 2 == 0 ? $Ou[] = $val : $Ji[] = $val;

 }

 arsort($Ji);

 asort($Ou);

 //print_r( $Ji );

 echo join(‘,’, $Ji ), ‘,’, join(‘,’, $Ou );

}

function ca( $NumStr ) {

 $Arr = preg_split(‘/[\,,]+/is’, $NumStr);

 echo max( $Arr ) – min( $Arr );

}

function length( $Num ) {

 echo strlen( $Num );

}

pai(‘3,6,5,71,75,34,45,23,16’);

echo ‘br/’;

ca(‘15,78,65,10,30’);

echo ‘br/’;

length(4578445);

php怎麼增加log日誌來

1、使用指定的文件記錄錯誤報告日誌

使 用指定的文件記錄錯誤報告日誌使用指定的文件記錄錯誤報告日誌使用指定的文件記錄錯誤報告日誌 如果使用自己指定的文件記錄錯誤日誌,一定要確保將這個文 件存放在文檔根目錄之外,以減少遭到攻擊的可能。並且該文件一定要讓PHP腳本的執行用戶(Web伺服器進程所有者)具有寫許可權。假設在Linux操作系 統中,將/usr/local/目錄下的error.log文件作為錯誤日誌文件,並設置Web伺服器進程用戶具有寫的許可權。然後在PHP的配置文件中, 將error_log指令的值設置為這個錯誤日誌文件的絕對路徑。

需要將php.ini中的配置指令做如下修改:

1. error_reporting = E_ALL ;將會向PHP報告發生的每個錯誤

2. display_errors = Off ;不顯示滿足上條 指令所定義規則的所有錯誤報告

3. log_errors = On ;決定日誌語句記錄的位置

4. log_errors_max_len = 1024 ;設置每個日誌項的最大長度

5. error_log = E:/php_log/php_error.log ;指定產生的 錯誤報告寫入的日誌文件位置

PHP 的配置文件按上面的方式設置完成以後,並重新啟動Web伺服器。這樣,在執行PHP的任何腳本文件時,所產生的所有錯誤報告都不會在瀏覽器中顯示,而會記 錄在自己指定的錯誤日誌/usr/local/error.log中。此外,不僅可以記錄滿足error_reporting所定義規則的所有錯誤,而且 還可以使用PHP中的error_log()函數,送出一個用戶自定義的錯誤信息。

PHP中error_log()函數的使用方法

本文實例講述了PHP中error_log()函數的使用方法。分享給大家供大家參考。具體分析如下:

今天遇到一個問題需要調試,但是只能通過日誌列印調試,就用到了error_log這個函數

需要列印的是一台伺服器發送到我們伺服器的post數據

代碼如下:(key和value都列印了)

複製代碼

代碼如下:if(!empty($_POST)

){

while

(list($key,

$val)

=

each($_POST))

{

@error_log(“$key

=

$val”,

3,’/tmp/test_post_allstarpay.log’

);

}

}

error_log有四個參數

,主要是前3個,第一個是log日誌寫入內容,第二個是日誌存入方式3表示存入指定位置,第三個是存入位置

伺服器用的是centos

,tmp有讀寫許可權

所以就寫入tmp內了

error_log會自動生成相應的log文件,不需要手動創建!

希望本文所述對大家的php程序設計有所幫助。

原創文章,作者:TEOD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142777.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TEOD的頭像TEOD
上一篇 2024-10-14 18:42
下一篇 2024-10-14 18:42

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29

發表回復

登錄後才能評論