Home  >  Article  >  Backend Development  >  How to encapsulate the method of printing logs in PHP (with code)

How to encapsulate the method of printing logs in PHP (with code)

不言
不言Original
2018-08-20 17:33:543826browse

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!

1. Function file_put_contents() used

file_put_contents() function writes a string into a file.

When this function accesses files, it follows the following rules:

  1. If FILE_USE_INCLUDE_PATH is set, the built-in path for the *filename* copy will be checked

  2. If the file does not exist, a file will be created

  3. Open the file

  4. If LOCK_EX is set, the file will be locked

  5. If FILE_APPEND is set, it will be moved to the end of the file. Otherwise, the contents of the file will be cleared

  6. Write data to the file

  7. 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.

Syntax

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:
  • FILE_USE_INCLUDE_PATH

  • FILE_APPEND

  • LOCK_EX

context Optional. Specifies the environment for a file handle. context is a set of options that can modify the behavior of the stream.

2. Encapsulate log file makeLog() method

<?php
/**
 * 声明文件日志
 * @param string $type
 * @param string $data
 */
public function makeLog($type=&#39;&#39;,$data=&#39;&#39;){
  if(!empty($type)){
  // &#39;DIR_LOG&#39;=>&#39;/home/www/ymd/public/ymd/logs/&#39;

 @file_put_contents(C(&#39;DIR_LOG&#39;).$type."/".$type.&#39;_&#39;.date(&#39;YmdH&#39;).&#39;.txt&#39;,$data."\n",FILE_APPEND);
 }
}

//调用文件日志
 $this->makeLog(&#39;ymd&#39;,&#39;日志记录&#39;);

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn