首頁 後端開發 php教程 怎麼用php寫一個日誌功能的函數

怎麼用php寫一個日誌功能的函數

Jul 29, 2016 am 09:00 AM
address log user

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

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

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

假設函數名稱是log ();

我們希望這麼叫他log('usese ddr ess:user_address);user_address);

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

log函數可以這麼寫

<code><span>log</span>(){
    <span>$args</span> = func_get_args();<span>//获得传入的所有参数的数组</span><span>$numargs</span> = func_num_args(); <span>//参数的个数</span><span>if</span> (<span>$numargs</span> == <span>0</span>) {
        <span>$log</span> = <span>""</span>;
    } elseif (<span>$numargs</span> == <span>1</span>) {
        <span>$log</span> = <span>$args</span>[<span>0</span>];
    } <span>else</span> {
        <span>$format</span> = array_shift(<span>$args</span>); <span>//分割掉函数第一个元素,并且做返回值返回,'$user_address:%s'</span><span>$log</span> = vsprintf(<span>$format</span>, <span>$args</span>); <span>//把参数代入$format中,</span>
    }
    <span>$log</span> = <span>date</span>(<span>"[Y/m/d H:i:s] "</span>) . <span>$log</span> . PHP_EOL;<span>//加上时间</span><span>$file</span> = <span>'/usr/share/nginx/html/log.log'</span>;
    <span>$fp</span> = <span>fopen</span>(<span>$file</span>, <span>'a'</span>);
    <span>fwrite</span>(<span>$fp</span>, <span>$log</span>);
    <span>fclose</span>(<span>$fp</span>);
    <span>return</span> true;
    } 
</code>
登入後複製
用法:

1.印出一般變數$a,

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

2 . 印出一個陣列$arr

log('%s',print_r( $arr,true));

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介紹了怎麼用php寫一個日誌功能的函數,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
使用math.Log2函數計算指定數字的以2為底的對數 使用math.Log2函數計算指定數字的以2為底的對數 Jul 24, 2023 pm 12:14 PM

使用math.Log2函數計算指定數字的以2為底的對數在數學中,對數是一個重要的概念,它描述了一個數與另一個數(所謂的底)的指數關係。其中,以2為底的對數特別常見,並在電腦科學和資訊科技領域中常用到。在Python程式語言中,我們可以使用math函式庫中的log2函數來計算一個數字的以2為底的對數。下面是一個簡單的程式碼範例:importmathdef

docker掛載目錄權限問題怎麼解決 docker掛載目錄權限問題怎麼解決 Feb 29, 2024 am 10:04 AM

在Docker中,掛載目錄的權限問題通常可以透過以下方法解決:使用-v參數指定掛載目錄時新增權限相關的選項。可以透過在掛載的目錄後面新增:ro或:rw來指定掛載目錄的權限,分別表示只讀和讀寫權限。例如:dockerrun-v/host/path:/container/path:roimage_name在Dockerfile中定義USER指令來指定容器中執行的用戶,以確保容器內部的操作符合權限要求。例如:FROMimage_name#CreateanewuserRUNuseradd-ms/bin/

使用math.Log10函數計算指定數字的以10為底的對數 使用math.Log10函數計算指定數字的以10為底的對數 Jul 25, 2023 pm 06:33 PM

使用math.Log10函數計算指定數字的以10為底的對數在數學和計算機科學中,對數是一個常見的概念。我們經常使用對數來描述數字的大小或比例關係。而在電腦程式設計中,常用的對數函數就是以10為底的對數函數。 Python語言中,可以使用math函式庫中的log10函數來計算指定數字的以10為底的對數。下面我們將透過一個簡單的程式碼範例來示範該函數的使用。首先,我們需

使用golang中的log.Println函數列印日誌訊息 使用golang中的log.Println函數列印日誌訊息 Nov 18, 2023 pm 12:14 PM

標題:使用Golang中的log.Println函數列印日誌訊息日誌在軟體開發中非常重要,它可以幫助我們追蹤程式運行中的各種信息,如錯誤、警告、偵錯訊息等。在Golang中,有一個內建的log包,它提供了許多函數來處理日誌輸出。其中一個常用的函數是log.Println,它可以列印日誌資訊到標準輸出。下面是一個簡單的範例程式碼,展示如何使用log.Print

Linux伺服器常見的日誌檔案儲存位置! Linux伺服器常見的日誌檔案儲存位置! Feb 19, 2024 pm 06:20 PM

在Linux伺服器中,日誌檔案是重要的系統資訊文件,其中記錄了許多重要的系統事件,包括使用者的登入資訊、系統的啟動資訊、系統的安全資訊、郵件相關資訊、各種服務相關資訊等,其有著非常重要的作用。那麼Linux中伺服器日誌存放在什麼位置?以下是詳細內容介紹。  在Linux伺服器上,常見的日誌檔案一般儲存在以下位置:  1、/var/log/:  這個目錄下包含了系統和服務的大部分日誌檔案。其中一些常見的日誌檔案包括:  /var/log/messages:系統的整體日誌訊息,包含核心、服務和其他

解決golang報錯:cannot take the address of 'x' 解決golang報錯:cannot take the address of 'x' Aug 22, 2023 pm 01:04 PM

解決golang報錯:cannottaketheaddressof'x'在Go語言的開發過程中,我們有時候會遇到這樣的錯誤訊息:cannottaketheaddressof'x'。這個錯誤通常發生在我們嘗試取得某個變數的位址時。在本文中,我將解釋出現這個報錯的原因,並提供一些解決方案。問題的根源在於Go語言中的指標操作。指標是一個儲存變數

Go中如何使用context實作請求日誌記錄 Go中如何使用context實作請求日誌記錄 Jul 21, 2023 pm 10:13 PM

Go中如何使用context實作請求日誌記錄在開發Web應用程式時,日誌記錄是一個重要的元件。它可以幫助開發人員追蹤應用程式的行為,解決問題以及監控系統的健康狀態。在Go語言中,我們可以使用標準函式庫中的context套件來實作請求日誌記錄的功能。 context包提供了一種將請求範圍的資料傳遞給函數和方法的方式。在網路應用程式中,每個請求都會建立一個contex

Linux腳本學習筆記,log函數使用技巧 Linux腳本學習筆記,log函數使用技巧 Feb 19, 2024 pm 05:36 PM

本文描述了一個用於記錄shell腳本執行日誌的日誌腳本函數。在進行shell腳本開發時,經常需要監控系統資料。為了方便查看,我們可以將腳本運行情況記錄為日誌文件,避免需要一直在命令控制台上監視。需求:1、可以記錄腳本的運行情況;2、可以記錄時間;3、可以在輸入log達到一定的行數後對以前的log進行刪減,防止log文件無限累積;需求分析這個簡單需求可以通過編寫一個函數來實現,該函數能夠將腳本中的日誌資訊輸出到同名的log​​檔案中,方便開發人員日後查閱分析腳本運行情況。可依個人喜好和技術能力選擇

See all articles