diff options
author | Bart Visscher <bartv@thisnet.nl> | 2013-08-28 17:41:27 +0200 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2013-08-28 17:41:27 +0200 |
commit | 3fd2df4088d17547a3a31023a75cf538c95ade18 (patch) | |
tree | b817b924800e9043aa5450e937181df1c7380a00 | |
parent | 42f3ecb60fb14ef9739b436f115d302b5d4432a1 (diff) | |
download | nextcloud-server-3fd2df4088d17547a3a31023a75cf538c95ade18.tar.gz nextcloud-server-3fd2df4088d17547a3a31023a75cf538c95ade18.zip |
Only enable logrotate when configured. Also rotate size is settable.
-rw-r--r-- | config/config.sample.php | 15 | ||||
-rw-r--r-- | lib/base.php | 3 | ||||
-rw-r--r-- | lib/log/rotate.php | 16 |
3 files changed, 23 insertions, 11 deletions
diff --git a/config/config.sample.php b/config/config.sample.php index 24ba541ac5c..f5cb33732f8 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -141,10 +141,22 @@ $CONFIG = array( /* Loglevel to start logging at. 0=DEBUG, 1=INFO, 2=WARN, 3=ERROR (default is WARN) */ "loglevel" => "", +/* date format to be used while writing to the owncloud logfile */ +'logdateformat' => 'F d, Y H:i:s', + /* Append all database queries and parameters to the log file. (watch out, this option can increase the size of your log file)*/ "log_query" => false, +/* + * Configure the size in bytes log rotation should happen, 0 or false disables the rotation. + * This rotates the current owncloud logfile to a new name, this way the total log usage + * will stay limited and older entries are available for a while longer. The + * total disk usage is twice the configured size. + * WARNING: When you use this, the log entries will eventually be lost. + */ +'log_rotate_size' => false, // 104857600, // 100 MiB + /* Lifetime of the remember login cookie, default is 15 days */ "remember_login_cookie_lifetime" => 60*60*24*15, @@ -189,7 +201,4 @@ $CONFIG = array( 'customclient_desktop' => '', //http://owncloud.org/sync-clients/ 'customclient_android' => '', //https://play.google.com/store/apps/details?id=com.owncloud.android 'customclient_ios' => '', //https://itunes.apple.com/us/app/owncloud/id543672169?mt=8 - -// date format to be used while writing to the owncloud logfile -'logdateformat' => 'F d, Y H:i:s' ); diff --git a/lib/base.php b/lib/base.php index f45012bb83c..2e6a37c9f4e 100644 --- a/lib/base.php +++ b/lib/base.php @@ -557,7 +557,8 @@ class OC { * register hooks for the cache */ public static function registerLogRotate() { - if (OC_Config::getValue('installed', false)) { //don't try to do this before we are properly setup + if (OC_Config::getValue('installed', false) && OC_Config::getValue('log_rotate_size', false)) { + //don't try to do this before we are properly setup // register cache cleanup jobs try { //if this is executed before the upgrade to the new backgroundjob system is completed it will throw an exception \OCP\BackgroundJob::registerJob('OC\Log\Rotate', OC_Config::getValue("datadirectory", OC::$SERVERROOT.'/data').'/owncloud.log'); diff --git a/lib/log/rotate.php b/lib/log/rotate.php index 41ef2ea299c..b620f0be15c 100644 --- a/lib/log/rotate.php +++ b/lib/log/rotate.php @@ -10,24 +10,26 @@ namespace OC\Log; /** * This rotates the current logfile to a new name, this way the total log usage - * will stay limited and older entries are available for a while longer. The - * total disk usage is twice LOG_SIZE_LIMIT. + * will stay limited and older entries are available for a while longer. * For more professional log management set the 'logfile' config to a different * location and manage that with your own tools. */ class Rotate extends \OC\BackgroundJob\Job { - const LOG_SIZE_LIMIT = 104857600; // 100 MiB + private $max_log_size; public function run($logFile) { - $filesize = @filesize($logFile); - if ($filesize >= self::LOG_SIZE_LIMIT) { - $this->rotate($logFile); + $this->max_log_size = OC_Config::getValue('log_rotate_size', false); + if ($this->max_log_size) { + $filesize = @filesize($logFile); + if ($filesize >= $this->max_log_size) { + $this->rotate($logFile); + } } } protected function rotate($logfile) { $rotatedLogfile = $logfile.'.1'; rename($logfile, $rotatedLogfile); - $msg = 'Log file "'.$logfile.'" was over 100MB, moved to "'.$rotatedLogfile.'"'; + $msg = 'Log file "'.$logfile.'" was over '.$this->max_log_size.' bytes, moved to "'.$rotatedLogfile.'"'; \OC_Log::write('OC\Log\Rotate', $msg, \OC_Log::WARN); } } |