Log4php使用指南

news/2024/7/5 19:54:59

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、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文件,内容如下:

[xhtml]  view plain copy
  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文件,内容如下:

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

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

工程结构2

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

生成日志文件的目录

    日志文件的内容如下:

日志文件的内容

 

转载于:https://my.oschina.net/winnsay/blog/633512


http://www.niftyadmin.cn/n/2711500.html

相关文章

C++ Primer 第16章 模板与泛型编程 学习笔记

1. 定义模板 a) 假定我们希望编写一个函数比较两个值&#xff0c;并指出第一个值是大于、小于或是等于第二个值&#xff0c;我们可能会定义多个重载函数&#xff1a; int compare(const string &v1,const string &v2){if(v1<v2) return -1;if(v2<v1) return…

javaee中数据库异常_李孟_新浪博客

java.sql.SQLException: ORA-00928: 缺失 SELECT 关键字at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.…

SRM707 div1 MultiplyAddPuzzle

题目大意&#xff1a;给定4个数&#xff0c;s,t,a,b 每次可以将s加a或者乘b&#xff0c;问最少多少次可以得到t 做法&#xff1a;考虑最后的形式&#xff0c;肯定是s*b^n a*f(b)&#xff0c;f(b)是关于b的多项式 那么b乘多少次实际上是可以知道的&#xff0c;然后枚举b的次数n…

C#重写 重载 new

重载就是多态的一种体现 多态的原理表述:一个父类可以有多个子类&#xff0c;父类是子类中方法的“交集”&#xff0c;子类中可以根据自己实际需要来加入新的方法&#xff0c;或则完善父类中的方法&#xff0c;当把子类的对象赋值给父类类型的对象时&#xff0c;这时候在调用同…

javaee中数据库异常

java.sql.SQLException: ORA-00928: 缺失 SELECT 关键字 at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping. at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError. at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseEr…

为什么要在引入的css或者js文件后面加参数的详细讲解

为什么80%的码农都做不了架构师&#xff1f;>>> css和js带参数&#xff08;形如.css?v与.js?v&#xff09; 复制代码 代码如下: <script type”text/javascript” src”jb51.js?version1.2.6″></script> <link relstylesheet hrefbase.css?ver…

MaintainableCSS 《可维护性 CSS》 --- 约定篇

约定 可维护的CSS具有以下约定&#xff1a; .<module>[-<component>][-<state>] {} 根据所讨论的模块&#xff0c;方括号是可选的。这里有些例子&#xff1a; /* 模块 Module container */ .searchResults {}/* 组件 Component */ .searchResults-heading {}…

C#委托和事件的小结

参考的文章&#xff1a; http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx 上面这篇文章讲得很好 委托 在调用一个方法的时候&#xff0c;为了使得方法执行的情况根据我们赋值的不同而不同&#xff0c;简单的办法是在这个方法中使用判断…