parent
d11a8f4103
commit
820cd0fb75
@ -0,0 +1,71 @@ |
||||
<?php |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Robin Appelman |
||||
* @copyright 2011 Robin Appelman icewind1991@gmail.com |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library 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 AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
/** |
||||
*logging utilities |
||||
* |
||||
* Log is saved at data/owncloud.log (on default) |
||||
*/ |
||||
|
||||
class OC_Log{ |
||||
const DEBUG=0; |
||||
const INFO=1; |
||||
const WARN=2; |
||||
const ERROR=3; |
||||
const FATAL=4; |
||||
|
||||
/** |
||||
* write a message in the log |
||||
* @param string $app |
||||
* @param string $message |
||||
* @param int level |
||||
*/ |
||||
public static function write($app,$message,$level){ |
||||
$minLevel=OC_Config::getValue( "loglevel", 2 ); |
||||
if($level>$minLevel){ |
||||
$datadir=OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' ); |
||||
$logFile=OC_Config::getValue( "logfile", $datadir.'/owncloud.log' ); |
||||
$entry=array('app'=>$app,'message'=>$message,'level'=>$level,'time'=>time()); |
||||
$fh=fopen($logFile,'a'); |
||||
fwrite($fh,json_encode($entry)."\n"); |
||||
fclose($fh); |
||||
} |
||||
} |
||||
|
||||
public static function getEntries(){ |
||||
$datadir=OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' ); |
||||
$logFile=OC_Config::getValue( "logfile", $datadir.'/owncloud.log' ); |
||||
$entries=array(); |
||||
if(!file_exists($logFile)){ |
||||
return array(); |
||||
} |
||||
$fh=fopen($logFile,'r'); |
||||
while(!feof($fh)){ |
||||
$line=fgets($fh); |
||||
if($line){ |
||||
$entries[]=json_decode($line); |
||||
} |
||||
} |
||||
fclose($fh); |
||||
return $entries; |
||||
} |
||||
} |
@ -0,0 +1,41 @@ |
||||
<?php |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Robin Appelman |
||||
* @copyright 2011 Robin Appelman icewind1991@gmail.com |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library 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 AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
require_once('../lib/base.php'); |
||||
OC_Util::checkAdminUser(); |
||||
|
||||
// Load the files we need |
||||
OC_Util::addStyle( "settings", "settings" ); |
||||
OC_Util::addScript( "settings", "apps" ); |
||||
OC_App::setActiveNavigationEntry( "core_log" ); |
||||
|
||||
$entries=OC_Log::getEntries(); |
||||
|
||||
function compareEntries($a,$b){ |
||||
return $b->time-$a>time; |
||||
} |
||||
usort($entries, 'compareEntries'); |
||||
|
||||
$tmpl = new OC_Template( "settings", "log", "user" ); |
||||
$tmpl->assign('entries',$entries); |
||||
|
||||
$tmpl->printPage(); |
@ -0,0 +1,29 @@ |
||||
<?php /** |
||||
* Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com> |
||||
* This file is licensed under the Affero General Public License version 3 or later. |
||||
* See the COPYING-README file. |
||||
*/ |
||||
$levels=array('DEBUG','INFO','WARN','ERROR','FATAL'); |
||||
?> |
||||
|
||||
<div id="controls"> |
||||
|
||||
</div> |
||||
<table> |
||||
<?php foreach($_['entries'] as $entry):?> |
||||
<tr> |
||||
<td> |
||||
<?php echo $levels[$entry->level];?> |
||||
</td> |
||||
<td> |
||||
<?php echo $entry->app;?> |
||||
</td> |
||||
<td> |
||||
<?php echo $entry->message;?> |
||||
</td> |
||||
<td> |
||||
<?php echo $l->l('datetime',$entry->time);?> |
||||
</td> |
||||
</tr> |
||||
<?php endforeach;?> |
||||
</table> |
Loading…
Reference in new issue