解析php如何將日誌寫進syslog

2022-09-29 22:27:21 字數 2229 閱讀 3402

在做專案的時候們為了方便運維,我們經常需要將系統日誌寫入系統syslog,下邊我們就介紹一下,在linux下php對syslog的操作:

在linux中配置syslog

在linux中,facility(裝置)有以下幾種:

auth 普通安全/授權訊息

authpriv 私有安全/授權訊息

cron 定時器程序

daemon 守護程序

kern 核心訊息

local0 ... local7  本地應用,在windows上不支援

lpr  行式印表機

mail  郵件服務

news  新聞服務

syslog  由syslogd內部產生的訊息

user  通用的使用者級資訊

uucp  uucp子系統

登入linux系統,進入/etc目錄,輸入:

複製** **如下:

vim syslog.conf

開啟syslwww.cppcns.comog的配置檔案

在這裡,你可以看到syslog的所有配置資訊,這裡定義了在上一節中提到的每種日誌型別儲存日誌所使用的條件,如:

daemon.程式設計客棧*  -/var/log/daemon.log

定義了daemon所產生的日誌的儲存位置,其中daemon為日誌型別,「*」代表將所有級別的日誌都放到該檔案。格式為:

facility。level -日誌檔案儲存的路徑,如-/var/log/daemon.log

level包括:

emerg -該系統不可用

alert -需要立即被修改的條件

crit -阻止某些工具或子系統功能實現的錯誤條件

err -阻止工具或某些子系統部分功能實現的錯誤條件

wuvwreyearning -預警資訊

notice -具有重要性的普通條件

info -提供資訊的訊息

debug -不包含函式條件或問題的其他資訊

none -沒有重要級,通常用於排錯

* 所有級別,除了none

下面我們在配置檔案中定義乙個自己裝置的日誌規則:local4.info   -/var/log/

接下來執行命令/etc/init.d/sysklogd restart或/etc/init.d/sysklogd reload使新增的配置生效,下面我們可以測試新增的日誌規則了:

1.輸入命令  logger -p local4.info " my test log"

2.執行命令 tail   /var/log/event_log.log

你可以看到自己寫入的日誌資訊:

注意:syslog.conf中local4.info 代表所有info級別以及以上的日誌會記錄到這裡

ok,到現在我們已經在ubuntu中設定好了我們需要的日誌,下面我們用php中的syslog將日誌寫到ubuntu中的syslog中。

下面直接上php**:

複製** **如下:

openlog("event1.0", log_pid | log_perror, log_local4);

syslog($level, "log message: " . $errinfo);

closelog();

以上各方法的具體用法請檢視php的api,具體用法不在這裡贅述。

其中openlog的第乙個引數,是日誌標識,該標識會自動加在日誌資訊的開始,用來表示是什麼系統寫入的日誌。

由於我們想要將日誌寫入local4.info,所以第三個引數需使用log_local4,該引數表示寫入日誌的裝置資訊。

syslog中$level為日誌級別,包括:

log_emerg system is unusable

log_alert action must be taken immediately

log_crit critical conditions

log_err error conditions

log_warning warning conditions

log_notice normal, but significant, condition

log_info informatiowww.cppcns.comnal message

log_debug debug-level message

第二個引數為具體的日誌內容。

本文標題: 解析php如何將日誌寫進syslog

本文位址: /wangluo/php/97432.html

如何將syslogng的日誌寫入MySQL資料庫

在 使用syslog ng搭建日誌伺服器 中已經講了如何將syslog ng配置為中心日誌伺服器,下面介紹如何將syslogng的日誌寫入mysql資料庫,系統 gentoo 2007 1 修改 etc syslog ng syslog ng.conf,新增 source s remote dest...

如何將日誌記錄到 Windows事件日誌 中

每當出現一些未捕獲異常時,作業系統都會將異常資訊寫入到windows 事件日誌中,可以通過windows 事件檢視器檢視,如下圖 這篇文章將會討論如何使用程式設計的方式將日誌記錄到 windows 事件日誌 中。要想在 net core 中記錄資料到 windows 事件日誌中,可以用 nuget ...

PHP如何將表單提交給自己

使用php進行web開發,表單 form 的使用隨處可見,利用其屬性action和method可以指定表單的內容要傳送處理的url以及如何將表單資料傳送到伺服器。在大部分情況下我們指定另外乙個來處理表單內容的url位址給action屬性,但也有部分情況是需要將表單資料提交給自己的。這時候我們應該如何...