source: branches/comu-ver2/data/module/log4php/php4/log4php/appenders/LoggerAppenderDailyFile.php @ 18220

Revision 18220, 3.0 KB checked in by yokkuns, 11 years ago (diff)

#149 ロガークラス作成

Line 
1<?php
2/**
3 * log4php is a PHP port of the log4j java logging package.
4 *
5 * <p>This framework is based on log4j (see {@link http://jakarta.apache.org/log4j log4j} for details).</p>
6 * <p>Design, strategies and part of the methods documentation are developed by log4j team
7 * (Ceki Gülcü as log4j project founder and
8 * {@link http://jakarta.apache.org/log4j/docs/contributors.html contributors}).</p>
9 *
10 * <p>PHP port, extensions and modifications by VxR. All rights reserved.<br>
11 * For more information, please see {@link http://www.vxr.it/log4php/}.</p>
12 *
13 * <p>This software is published under the terms of the LGPL License
14 * a copy of which has been included with this distribution in the LICENSE file.</p>
15 *
16 * @package log4php
17 * @subpackage appenders
18 */
19
20/**
21 * @ignore
22 */
23if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
24 
25require_once(LOG4PHP_DIR . '/appenders/LoggerAppenderFile.php');
26
27/**
28 * LoggerAppenderDailyFile appends log events to a file ne.
29 *
30 * A formatted version of the date pattern is used as to create the file name
31 * using the {@link PHP_MANUAL#sprintf} function.
32 * <p>Parameters are {@link $datePattern}, {@link $file}. Note that file
33 * parameter should include a '%s' identifier and should always be set
34 * before {@link $file} param.</p>
35 *
36 * @author Abel Gonzalez <agonzalez@lpsz.org>
37 * @version $Revision: 1.7 $
38 * @package log4php
39 * @subpackage appenders
40 */                     
41class LoggerAppenderDailyFile extends LoggerAppenderFile {
42
43    /**
44     * Format date.
45     * It follows the {@link PHP_MANUAL#date()} formatting rules and <b>should always be set before {@link $file} param</b>.
46     * @var string
47     */
48    var $datePattern = "Ymd";
49   
50    /**
51    * Constructor
52    *
53    * @param string $name appender name
54    */
55    function LoggerAppenderDailyFile($name)
56    {
57        $this->LoggerAppenderFile($name);
58    }
59   
60    /**
61    * Sets date format for the file name.
62    * @param string $format a regular date() string format
63    */
64    function setDatePattern ( $format )
65    {
66        $this->datePattern = $format;
67    }
68   
69    /**
70    * @return string returns date format for the filename
71    */
72    function getDatePattern ( )
73    {
74        return $this->datePattern;
75    }
76   
77    /**
78    * The File property takes a string value which should be the name of the file to append to.
79    * Sets and opens the file where the log output will go.
80    *
81    * @see LoggerAppenderFile::setFile()
82    */
83    function setFile()
84    {
85        $numargs = func_num_args();
86        $args    = func_get_args();
87       
88        if ($numargs == 1 and is_string($args[0])) {
89            parent::setFile( sprintf((string)$args[0], date($this->getDatePattern())) );
90        } elseif ($numargs == 2 and is_string($args[0]) and is_bool($args[1])) {
91            parent::setFile( sprintf((string)$args[0], date($this->getDatePattern())), $args[1] );
92        }
93    }
94
95}
96
97?>
Note: See TracBrowser for help on using the repository browser.