forked from hdecarne/phplogmon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
logmon.cron.php
executable file
·68 lines (61 loc) · 2.2 KB
/
logmon.cron.php
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
#!/usr/bin/php
<?php
/**
* phplogmon
*
* Copyright (c) 2012-2014 Holger de Carne and contributors, All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
require_once("lib/autoload.php");
$status = -1;
$elapsed = microtime(true);
try {
$config = dirname(__FILE__)."/logmon.conf.php";
$requiredConfigs = array($config);
CheckConfig::configs($requiredConfigs);
require_once($config);
$requiredExtensions = array("mbstring", "pcre", "PDO");
CheckConfig::extensions($requiredExtensions);
mb_internal_encoding("UTF-8");
Options::setDebug(DEBUG || array_search("--debug", $argv));
Options::setPretend(array_search("--pretend", $argv));
Options::setVerbose(Options::debug() || Options::pretend() || array_search("--verbose", $argv));
Log::open(__FILE__, true, Options::verbose(), Options::debug());
Log::notice(sprintf("Running '%s'...", implode(" ", $argv)));
$monitor = Monitor::create(dirname(__FILE__)."/monitor");
if($monitor !== false) {
$sources = $monitor->getEnabledSources();
$dbh = new DBH(DBDSN, DBUSER, DBPASS);
$processor = new Processor($dbh);
foreach($sources as $source) {
$processor->process($monitor, $source);
}
$processor->discard(EVENT_DISCARD_THRESHOLD);
$status = 0;
} else {
$status = 1;
}
} catch(Exception $e) {
Log::err(sprintf("Log file processing failed with exception: %s\nDetails: %s", $e->getMessage(), $e));
$status = 1;
}
if(isset($dbh)) {
$dbh->close();
}
$elapsed = round(microtime(true) - $elapsed, 3);
Log::notice(sprintf("Log file processing finished with status '%d' (Total processing time: %f s)", $status, $elapsed));
Log::close();
exit($status);
?>