一、Log4php简介

Log4php是Log4xx系列日志组件之一,是Log4j迁移到php的版本,主要用来记录日志信息,支持多种输入目的地,包括:日志文件、日志回滚文件、数据库、日志服务器等等;同时,还支持多种输入格式。

二、Log4php的搭建

(一)下载Log4php

到Log4php的官方网站就可以下载到Log4php,目前最新的版本是0.9,下载的地址是:

http://www.vxr.it/log4php/download.html

下载后,直接解压就可以。

(二)在工程里使用Log4php

1、工程的目录

工程的目录结构如下:

(1)include文件夹:包含第三方库的引用

(2)images文件夹:包含网站的图片

(3)js文件夹:包含网站的脚本文件

(4)css文件夹:包含网站的样式表

在include文件下,建立Log4php目录,然后将刚才解压的Log4php目录下的src文件夹下的log4php文件夹拷贝到该目录下,如下图所示:

以上完成了工程目录结构的创建。

2、创建Log4php的配置文件

在项目目录下,建立log4php.properties文件,内容如下:

  1. log4php.rootLogger=DEBUG, A1
  2. log4php.appender.A1=LoggerAppenderRollingFile
  3. log4php.appender.A1.file=webdisk.log
  4. log4php.appender.A1.layout=LoggerLayoutTTCC
  5. log4php.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd   HH:mm:ss}   [%t]   %C{1}:%M   %p   %m%n
  6. log4php.appender.A1.MaxFileSize=1024
  7. log4php.appender.A1.MaxBackupIndex=3

3、创建测试页

在项目目录下创建test_log.php文件,内容如下:

  1. <?php
  2. define(LOG4PHP_DIR, "include/log4php");
  3. require_once(LOG4PHP_DIR . '/LoggerManager.php');
  4. $str = "here is test string!";
  5. echo "这里是PHP的输出, 与log4php无关哟!<br>";
  6. $logger = LoggerManager::getLogger('test');
  7. if ("" != $str) {
  8. $logger->debug("str的值不为空! 它的值为: " . $str . "<br>");
  9. }
  10. if (strlen($str) > 4) {
  11. $logger->debug("str的长度大于4!" . "<br>");
  12. }
  13. LoggerManager::shutdown();
  14. ?>

创建完成后,工程的目录结构如下:

运行该文件,会在目录下生成webdisk.log文件,此时项目的目录结构如下:

日志文件的内容如下:

版权声明:本文为博主原创文章,未经博主允许不得转载。

Log4php使用指南的更多相关文章

  1. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  2. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  3. JavaScript权威指南 - 对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...

  4. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  5. const extern static 终极指南

    const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...

  6. Atitit.研发管理软件公司的软资产列表指南

    Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...

  7. HA 高可用软件系统保养指南

    又过了一年 618,六月是公司一年一度的大促月,一般提前一个月各系统就会减少需求和功能的开发,转而更多去关注系统可用性.稳定性和管控性等方面的非功能需求.大促前的准备工作一般叫作「备战」,可以把线上运 ...

  8. 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南

    欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...

  9. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

随机推荐

  1. Python之functools库

    functools库用于高阶函数,指那些作用于函数或者返回其他函数的函数 functools提供方法如下: cmp_to_key 将一个比较函数转换关键字函数 partial 针对函数起作用,并且是部 ...

  2. bzoj 2131 免费的馅饼

    Written with StackEdit. Description Input 第一行是用空格隔开的二个正整数,分别给出了舞台的宽度\(W\)(\(1\)到\(10^8\)之间)和馅饼的个数\(n ...

  3. 批量插入数据利器之SqlBulkCopy

    工作中要频繁的处理一些数据导入,又不想手工去做,因此用了神器SqlBulkCopy.在MSDN查看了此类的帮助文档几经波折终于搞定,记录下来方便以后查阅. MSDN实例: using System.D ...

  4. 在WORD2007中添加修改组件

    从网上查到这个,但不知道怎么设置选项内容,及如何出现选项.能否详细说明下,谢谢!1).在开始操作前,请先点击窗口左上角的office按钮,打开word选项,在常规窗口中,勾选在功能区显示开发工具选项卡 ...

  5. Python 函数 min()

    min() 函数 作用:  min() 方法返回给定参数的最小值,参数可以为序列.x-数值表达式.y-数值表达式.z-数值表达式.返回给定参数的最小值. 语法: min( x, y, z, .... ...

  6. 常用map总结

    Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry e ...

  7. Eclipse 模拟http 请求插件Rest Client

    eclipse update 网址  http://nextinterfaces.com/http4e/install/ 参考 http://www.nextinterfaces.com/eclips ...

  8. java代码实现鼠标双击出现画图-----------paint()方法由系统自动调用,且一定是小写的字母p

    总结:在运行过程中,自己不是很认真,没有检查自己写的代码,结果是无论你怎么运行,双击 frame都没用,因为系统根本就没有调用paint()方法绘图.所以很重要的是实现这个方法 package com ...

  9. mysql实战优化之五: 更新/插入优化 sql优化

    通常情况下,当访问某张表的时候,读取者首先必须获取该表的锁,如果有写入操作到达,那么写入者一直等待读取者完成操作(查询开始之后就不能中断,因此允许读取者完成操作).当读取者完成对表的操作的时候,锁就会 ...

  10. 《PYTHON学习手册》(《Learing Python》--Mark Lutz)书摘

    1. Python是为了让脚本的质量等级再提升几个级别. 2. <learning Python>和<programming Python>反映了作者培训内容的两部分:核心语言 ...