summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/base.php3
-rw-r--r--lib/log/rotate.php16
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);
}
}