summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xlib/app.php2
-rw-r--r--lib/log/owncloud.php12
-rw-r--r--lib/util.php34
-rw-r--r--settings/admin.php9
-rw-r--r--settings/js/log.js7
-rw-r--r--settings/templates/admin.php23
-rw-r--r--settings/templates/log.php30
7 files changed, 60 insertions, 57 deletions
diff --git a/lib/app.php b/lib/app.php
index bd432109b23..9f7d23872f3 100755
--- a/lib/app.php
+++ b/lib/app.php
@@ -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" ));
}
diff --git a/lib/log/owncloud.php b/lib/log/owncloud.php
index 0ed30510134..881c67d2664 100644
--- a/lib/log/owncloud.php
+++ b/lib/log/owncloud.php
@@ -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;
}
diff --git a/lib/util.php b/lib/util.php
index 2ea392ec31d..02ac2e505fa 100644
--- a/lib/util.php
+++ b/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.
diff --git a/settings/admin.php b/settings/admin.php
index 9ee79002b5e..a997bad4e3c 100644
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -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);
diff --git a/settings/js/log.js b/settings/js/log.js
index ae83f0a6283..bccf2c88269 100644
--- a/settings/js/log.js
+++ b/settings/js/log.js
@@ -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++){
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index e3fd60fefce..38c6042c82a 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -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>
diff --git a/settings/templates/log.php b/settings/templates/log.php
deleted file mode 100644
index da5defc320e..00000000000
--- a/settings/templates/log.php
+++ /dev/null
@@ -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>