diff --git a/config/config.sample.php b/config/config.sample.php
index 874fbc04e504b8afce1e3463340c48fbfebff26c..9a5648c95df5c3dcccd59a62f059c89385a1645d 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -728,6 +728,13 @@ $CONFIG = array(
  */
 'logfile' => '/var/log/nextcloud.log',
 
+/**
+ * Log file mode for the Nextcloud loggin type in octal notation.
+ *
+ * Defaults to 0640 (writeable by user, readable by group).
+ */
+'logfilemode' => 0640,
+
 /**
  * Loglevel to start logging at. Valid values are: 0 = Debug, 1 = Info, 2 =
  * Warning, 3 = Error, and 4 = Fatal. The default value is Warning.
diff --git a/lib/private/Log/File.php b/lib/private/Log/File.php
index c881c6dd9de2aa2934d5d36920a8f342a5693d61..6810e2598cff2398231894a2b954807d2be9b227 100644
--- a/lib/private/Log/File.php
+++ b/lib/private/Log/File.php
@@ -50,6 +50,8 @@ use OCP\ILogger;
 class File implements IWriter, IFileBased {
 	/** @var string */
 	protected $logFile;
+	/** @var int */
+	protected $logFileMode;
 	/** @var SystemConfig */
 	private $config;
 
@@ -67,6 +69,7 @@ class File implements IWriter, IFileBased {
 			}
 		}
 		$this->config = $config;
+		$this->logFileMode = $config->getValue('logfilemode', 0640);
 	}
 
 	/**
@@ -134,8 +137,8 @@ class File implements IWriter, IFileBased {
 		}
 		$entry = json_encode($entry, JSON_PARTIAL_OUTPUT_ON_ERROR);
 		$handle = @fopen($this->logFile, 'a');
-		if ((fileperms($this->logFile) & 0777) != 0640) {
-			@chmod($this->logFile, 0640);
+		if ($this->logFileMode > 0 && (fileperms($this->logFile) & 0777) != $this->logFileMode) {
+			@chmod($this->logFile, $this->logFileMode);
 		}
 		if ($handle) {
 			fwrite($handle, $entry."\n");