1: <?php
2: /**
3: * Pry Framework
4: *
5: * LICENSE
6: *
7: * This source file is subject to the new BSD license that is bundled
8: * with this package in the file LICENSE.txt.
9: *
10: * @version $Revision: 276 $
11: */
12:
13: /**
14: *
15: * @package Log
16: * @subpackage Log_Writer
17: * @abstract
18: * @version 1.1.1
19: * @author Olivier ROGER <oroger.fr>
20: *
21: */
22: abstract class Log_Writer_Abstract
23: {
24: const EMERGENCY = 0;
25: const ALERT = 1;
26: const CRITICAL = 2;
27: const ERROR = 3;
28: const WARN = 4;
29: const NOTICE = 5;
30: const INFO = 6;
31: const DEBUG = 7;
32: const MODE_MINI = 0; // Uniquement le message
33: const MODE_FULL = 1; // Lvl,date,message
34: const DAILY = 1;
35: const MONTHLY = 2;
36:
37: /**
38: * Durée des fichiers logs
39: *
40: * @var int
41: * @access protected
42: */
43: protected $duree = self::MONTHLY;
44:
45: /**
46: * Correspondance textuel des niveaux de sévérité
47: * @var array
48: */
49: protected $txtSeverity = array('emergency','alert','critical','error','warn','notice','info','debug');
50:
51: /**
52: * Type des messages
53: * mini = juste le message , full = message + date + level
54: * @var int
55: * @access protected
56: */
57: protected $mode = self::MODE_FULL;
58:
59: /**
60: * Ecriture du message
61: *
62: * @param string $message
63: * @param int $level
64: * @access public
65: */
66: public function write($message,$level=self::INFO)
67: {
68: $this->_write($message,$level);
69: }
70:
71: /**
72: * Défini la durée des fichiers de logs
73: *
74: * @param int $duree
75: */
76: public function setDuration($duree)
77: {
78: $this->duree = intval($duree);
79: }
80:
81: /**
82: * Défini le mode de message
83: *
84: * @param int $mode
85: */
86: public function setMode($mode)
87: {
88: $this->mode = intval($mode);
89: }
90:
91: /**
92: * Défini le préfixe des fichiers
93: *
94: * @return string
95: */
96: protected function getPrefixe()
97: {
98: if($this->duree == self::DAILY)
99: return date("d-m-Y").'_';
100: elseif($this->duree == self::MONTHLY)
101: return date("m-Y").'_';
102: else
103: return '';
104: }
105:
106: abstract protected function _write($message,$level);
107: }
108: ?>