diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/base.php | 3 | ||||
-rw-r--r-- | lib/log/rotate.php | 16 |
2 files changed, 11 insertions, 8 deletions
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); } } |