merge log into admin
This commit is contained in:
parent
70d0103a67
commit
5720bd296d
|
@ -303,8 +303,6 @@ class OC_App{
|
|||
$settings[] = array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkTo( "settings", "users.php" ), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath( "settings", "users.svg" ));
|
||||
// admin apps menu
|
||||
$settings[] = array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkTo( "settings", "apps.php" ).'?installed', "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" ));
|
||||
// admin log menu
|
||||
$settings[] = array( "id" => "core_log", "order" => 4, "href" => OC_Helper::linkTo( "settings", "log.php" ), "name" => $l->t("Log"), "icon" => OC_Helper::imagePath( "settings", "log.svg" ));
|
||||
|
||||
$settings[]=array( "id" => "admin", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "admin.php" ), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath( "settings", "admin.svg" ));
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ class OC_Log_Owncloud {
|
|||
* @param int level
|
||||
*/
|
||||
public static function write($app, $message, $level) {
|
||||
$minLevel=OC_Config::getValue( "loglevel", 2 );
|
||||
$minLevel=min(OC_Config::getValue( "loglevel", OC_Log::WARN ),OC_Log::ERROR);
|
||||
if($level>=$minLevel){
|
||||
$entry=array('app'=>$app, 'message'=>$message, 'level'=>$level,'time'=>time());
|
||||
$fh=fopen(self::$logFile, 'a');
|
||||
|
@ -61,6 +61,7 @@ class OC_Log_Owncloud {
|
|||
*/
|
||||
public static function getEntries($limit=50, $offset=0){
|
||||
self::init();
|
||||
$minLevel=OC_Config::getValue( "loglevel", OC_Log::WARN );
|
||||
$entries=array();
|
||||
if(!file_exists(self::$logFile)) {
|
||||
return array();
|
||||
|
@ -71,8 +72,13 @@ class OC_Log_Owncloud {
|
|||
}
|
||||
$end=max(count($contents)-$offset-1, 0);
|
||||
$start=max($end-$limit,0);
|
||||
for($i=$end;$i>$start;$i--) {
|
||||
$entries[]=json_decode($contents[$i]);
|
||||
$i=$end;
|
||||
while(count($entries)<$limit){
|
||||
$entry=json_decode($contents[$i]);
|
||||
if($entry->level>=$minLevel){
|
||||
$entries[]=$entry;
|
||||
}
|
||||
$i--;
|
||||
}
|
||||
return $entries;
|
||||
}
|
||||
|
|
34
lib/util.php
34
lib/util.php
|
@ -129,23 +129,23 @@ class OC_Util {
|
|||
self::$headers[]=array('tag'=>$tag,'attributes'=>$attributes,'text'=>$text);
|
||||
}
|
||||
|
||||
/**
|
||||
* formats a timestamp in the "right" way
|
||||
*
|
||||
* @param int timestamp $timestamp
|
||||
* @param bool dateOnly option to ommit time from the result
|
||||
*/
|
||||
public static function formatDate( $timestamp,$dateOnly=false){
|
||||
if(isset($_SESSION['timezone'])){//adjust to clients timezone if we know it
|
||||
$systemTimeZone = intval(date('O'));
|
||||
$systemTimeZone=(round($systemTimeZone/100,0)*60)+($systemTimeZone%100);
|
||||
$clientTimeZone=$_SESSION['timezone']*60;
|
||||
$offset=$clientTimeZone-$systemTimeZone;
|
||||
$timestamp=$timestamp+$offset*60;
|
||||
}
|
||||
$timeformat=$dateOnly?'F j, Y':'F j, Y, H:i';
|
||||
return date($timeformat,$timestamp);
|
||||
}
|
||||
/**
|
||||
* formats a timestamp in the "right" way
|
||||
*
|
||||
* @param int timestamp $timestamp
|
||||
* @param bool dateOnly option to ommit time from the result
|
||||
*/
|
||||
public static function formatDate( $timestamp,$dateOnly=false){
|
||||
if(isset($_SESSION['timezone'])){//adjust to clients timezone if we know it
|
||||
$systemTimeZone = intval(date('O'));
|
||||
$systemTimeZone=(round($systemTimeZone/100,0)*60)+($systemTimeZone%100);
|
||||
$clientTimeZone=$_SESSION['timezone']*60;
|
||||
$offset=$clientTimeZone-$systemTimeZone;
|
||||
$timestamp=$timestamp+$offset*60;
|
||||
}
|
||||
$timeformat=$dateOnly?'F j, Y':'F j, Y, H:i';
|
||||
return date($timeformat,$timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows a pagenavi widget where you can jump to different pages.
|
||||
|
|
|
@ -10,11 +10,20 @@ OC_Util::checkAdminUser();
|
|||
|
||||
OC_Util::addStyle( "settings", "settings" );
|
||||
OC_Util::addScript( "settings", "admin" );
|
||||
OC_Util::addScript( "settings", "log" );
|
||||
OC_App::setActiveNavigationEntry( "admin" );
|
||||
|
||||
$tmpl = new OC_Template( 'settings', 'admin', 'user');
|
||||
$forms=OC_App::getForms('admin');
|
||||
|
||||
$entries=OC_Log_Owncloud::getEntries(3);
|
||||
function compareEntries($a,$b){
|
||||
return $b->time - $a->time;
|
||||
}
|
||||
usort($entries, 'compareEntries');
|
||||
|
||||
$tmpl->assign('loglevel',OC_Config::getValue( "loglevel", 2 ));
|
||||
$tmpl->assign('entries',$entries);
|
||||
$tmpl->assign('forms',array());
|
||||
foreach($forms as $form){
|
||||
$tmpl->append('forms',$form);
|
||||
|
|
|
@ -6,14 +6,15 @@
|
|||
|
||||
OC.Log={
|
||||
levels:['Debug','Info','Warning','Error','Fatal'],
|
||||
loaded:50,//are initially loaded
|
||||
loaded:3,//are initially loaded
|
||||
getMore:function(){
|
||||
$.get(OC.filePath('settings','ajax','getlog.php'),{offset:OC.Log.loaded},function(result){
|
||||
$.get(OC.filePath('settings','ajax','getlog.php'),{offset:OC.Log.loaded,count:10},function(result){
|
||||
if(result.status=='success'){
|
||||
OC.Log.addEntries(result.data);
|
||||
$('html, body').animate({scrollTop: $(document).height()}, 800);
|
||||
}
|
||||
});
|
||||
OC.Log.loaded+=50;
|
||||
OC.Log.loaded+=10;
|
||||
},
|
||||
addEntries:function(entries){
|
||||
for(var i=0;i<entries.length;i++){
|
||||
|
|
|
@ -10,8 +10,8 @@ $levels=array('Debug','Info','Warning','Error','Fatal');
|
|||
echo $form;
|
||||
};?>
|
||||
<fieldset class="personalblock">
|
||||
<legend><strong><?php echo $l->t('Log level');?></strong></legend>
|
||||
<select name='loglevel' id='loglevel'>
|
||||
<legend><strong><?php echo $l->t('Log');?></strong></legend>
|
||||
Log level: <select name='loglevel' id='loglevel'>
|
||||
<option value='<?php echo $_['loglevel']?>'><?php echo $levels[$_['loglevel']]?></option>
|
||||
<?php for($i=0;$i<5;$i++):
|
||||
if($i!=$_['loglevel']):?>
|
||||
|
@ -19,4 +19,23 @@ $levels=array('Debug','Info','Warning','Error','Fatal');
|
|||
<?php endif;
|
||||
endfor;?>
|
||||
</select>
|
||||
<table id='log'>
|
||||
<?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 OC_Util::formatDate($entry->time);?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
<input id='moreLog' type='button' value='<?php echo $l->t('More');?>...'></input>
|
||||
</fieldset>
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
<?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','Warning','Error','Fatal');
|
||||
?>
|
||||
|
||||
<div id="controls">
|
||||
|
||||
</div>
|
||||
<table id='log'>
|
||||
<?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>
|
||||
<input id='moreLog' type='button' value='<?php echo $l->t('More');?>...'></input>
|
Loading…
Reference in New Issue