This repository was archived by the owner on Oct 25, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathConsole.php
More file actions
157 lines (118 loc) · 2.99 KB
/
Console.php
File metadata and controls
157 lines (118 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/*
Class: Console
Provides several additional logging features designed to work
with the Forensics Profiler.
Inspired by ParticleTree's PHPQuickProfiler. (http://particletree.com)
Package:
Forensics
Author:
Lonnie Ezell (http://lonnieezell.com)
License:
MIT
*/
class Console {
/*
Var: $logs
Contains all of the logs that are collected.
*/
private static $logs = array(
'console' => array(),
'log_count' => 0,
'memory_count' => 0,
);
/*
Var: $ci
An instance of the CI super object.
*/
private static $ci;
//--------------------------------------------------------------------
/*
Method: __construct()
This constructor is here purely for CI's benefit, as this is a
static class.
Return:
void
*/
public function __construct()
{
self::init();
log_message('debug', 'Forensics Console library loaded');
}
//--------------------------------------------------------------------
/*
Method: init()
Grabs an instance of CI and gets things ready to run.
*/
public static function init()
{
self::$ci =& get_instance();
}
//--------------------------------------------------------------------
/*
Method: log()
Logs a variable to the console.
Parameters:
$data - The variable to log.
*/
public static function log($data=null)
{
if ($data !== 0 && empty($data))
{
$data = 'empty';
}
$log_item = array(
'data' => $data,
'type' => 'log'
);
self::add_to_console('log_count', $log_item);
}
//--------------------------------------------------------------------
/*
Method: log_memory()
Logs the memory usage a single variable, or the entire script.
Parameters:
$object - The object to store the memory usage of.
$name - The name to be displayed in the console.
*/
public static function log_memory($object=false, $name='PHP')
{
$memory = memory_get_usage();
if ($object)
{
$memory = strlen(serialize($object));
}
$log_item = array(
'data' => $memory,
'type' => 'memory',
'name' => $name,
'data_type' => gettype($object)
);
self::add_to_console('memory_count', $log_item);
}
//--------------------------------------------------------------------
/*
Method: get_logs()
Returns the logs array for use in external classes. (Namely the
Forensics Profiler.
*/
public static function get_logs()
{
return self::$logs;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
// !PRIVATE METHODS
//--------------------------------------------------------------------
public static function add_to_console($log=null, $item=null)
{
if (empty($log) || empty($item))
{
return;
}
self::$logs['console'][] = $item;
self::$logs[$log] += 1;
}
//--------------------------------------------------------------------
}
// End Console class