The content of this article is about how PHP encapsulates and prints log methods (with code). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Recently, there was a problem with the project online. A large number of users are using it. After looking for the cause for a long time, I finally found the location of the error by printing the log file! Therefore, during the development process, it is very, very important to print logs where errors may occur! Let me talk about it in detail below!
file_put_contents() function writes a string into a file.
When this function accesses files, it follows the following rules:
If FILE_USE_INCLUDE_PATH is set, the built-in path for the *filename* copy will be checked
If the file does not exist, a file will be created
Open the file
If LOCK_EX is set, the file will be locked
If FILE_APPEND is set, it will be moved to the end of the file. Otherwise, the contents of the file will be cleared
Write data to the file
Close the file and unlock all files
If successful, this function returns the number of characters written to the file. On failure, False is returned.
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
Parameters | Description |
---|---|
file | Required. Specifies the file to which data is to be written. If the file does not exist, a new file is created. |
data | Required. Specifies the data to be written to the file. Can be a string, array, or data stream. |
mode | Optional. Specifies how to open/write the file. Possible values:
|
context | Optional. Specifies the environment for a file handle. context is a set of options that can modify the behavior of the stream. |
<?php /** * 声明文件日志 * @param string $type * @param string $data */ public function makeLog($type='',$data=''){ if(!empty($type)){ // 'DIR_LOG'=>'/home/www/ymd/public/ymd/logs/' @file_put_contents(C('DIR_LOG').$type."/".$type.'_'.date('YmdH').'.txt',$data."\n",FILE_APPEND); } } //调用文件日志 $this->makeLog('ymd','日志记录');
Related recommendations:
php How to save network pictures (code)
Code implementation of vertical merging & horizontal merging of two-dimensional arrays in php
The above is the detailed content of How to encapsulate the method of printing logs in PHP (with code). For more information, please follow other related articles on the PHP Chinese website!