Add log level settings

[MAILPOET-570]
This commit is contained in:
Pavel Dohnal
2018-08-28 12:11:44 +02:00
parent 60ce501c20
commit 174d6fe646
4 changed files with 46 additions and 4 deletions

View File

@ -289,7 +289,7 @@ class RoboFile extends \Robo\Tasks {
'./vendor/bin/phpcs '.
'--standard=./tasks/code_sniffer/MailPoet '.
'--runtime-set testVersion 5.5-7.2 '.
'--ignore=./lib/Util/Sudzy/*,./lib/Util/CSS.php,./lib/Util/XLSXWriter.php,'.
'--ignore=./lib/Util/Sudzy/*,./lib/Util/CSS.php,./lib/Util/XLSXWriter.php,./lib/Dependencies/*,'.
'./lib/Util/pQuery/*,./lib/Config/PopulatorData/Templates/* '.
'lib/ '.
$severityFlag

View File

@ -12,12 +12,12 @@ class LogHandler extends AbstractProcessingHandler {
* Percentage value, what is the probability of running purge routine
* @var int
*/
CONST LOG_PURGE_PROBABILITY = 5;
const LOG_PURGE_PROBABILITY = 5;
/**
* Logs older than this many days will be deleted
*/
CONST DAYS_TO_KEEP_LOGS = 30;
const DAYS_TO_KEEP_LOGS = 30;
protected function write(array $record) {
$model = Log::create();

View File

@ -5,6 +5,7 @@ namespace MailPoet\Logging;
use MailPoet\Dependencies\Monolog\Processor\IntrospectionProcessor;
use MailPoet\Dependencies\Monolog\Processor\MemoryUsageProcessor;
use MailPoet\Dependencies\Monolog\Processor\WebProcessor;
use MailPoet\Models\Setting;
class Logger {
@ -30,9 +31,21 @@ class Logger {
self::$instance[$name]->pushProcessor(new MemoryUsageProcessor());
}
self::$instance[$name]->pushHandler(new LogHandler());
self::$instance[$name]->pushHandler(new LogHandler(self::getDefaultLogLevel()));
}
return self::$instance[$name];
}
private static function getDefaultLogLevel() {
$settings = Setting::getValue('logging', 'errors');
switch ($settings) {
case 'everything':
return \MailPoet\Dependencies\Monolog\Logger::DEBUG;
case 'nothing':
return \MailPoet\Dependencies\Monolog\Logger::EMERGENCY;
default:
return \MailPoet\Dependencies\Monolog\Logger::ERROR;
}
}
}

View File

@ -244,5 +244,34 @@
</p>
</td>
</tr>
<!-- logging -->
<tr>
<th scope="row">
<label><%= __('Logging') %></label>
<p class="description">
<%= __('Enables logging for diagnostics of plugin behavior.') %>
<td>
<select
name="logging"
>
<option
value="everything"
<% if settings.logging == "everything" %>
selected
<% endif %>
><%= _x('Everything', 'In settings: "Logging: Everything"') %>
<option
value="errors"
<% if settings.logging != "nothing" and settings.logging != "everything" %>
selected
<% endif %>
><%= _x('Errors only', 'In settings: "Logging: Errors only"') %>
<option
value="nothing"
<% if settings.logging == "nothing" %>
selected
<% endif %>
><%= _x('Nothing', 'In settings: "Logging: Nothing"') %>
</select>
</tbody>
</table>