首页 后端开发 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(‘useraddress: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

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用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包提供了一种将请求范围的数据传递给函数和方法的方式。在Web应用程序中,每个请求都会创建一个contex

Linux脚本学习笔记,log函数使用技巧 Linux脚本学习笔记,log函数使用技巧 Feb 19, 2024 pm 05:36 PM

本文描述了一个用于记录shell脚本执行日志的日志脚本函数。在进行shell脚本开发时,经常需要监控系统数据。为了方便查看,我们可以将脚本运行情况记录为日志文件,避免需要一直在命令控制台上监视。需求:1、可以记录脚本的运行情况;2、可以记录时间;3、可以在输入log达到一定的行数后对以前的log进行删减,防止log文件无限累积;需求分析这个简单需求可以通过编写一个函数来实现,该函数能够将脚本中的日志信息输出到同名的log文件中,方便开发人员日后查阅分析脚本运行情况。可以根据个人喜好和技术能力选择

See all articles