Improve the email notification for logged errors
authorMarcel Werk <burntime@woltlab.com>
Mon, 10 Feb 2020 16:44:57 +0000 (17:44 +0100)
committerMarcel Werk <burntime@woltlab.com>
Mon, 10 Feb 2020 16:44:57 +0000 (17:44 +0100)
Closes #3157

wcfsetup/install/files/lib/system/cronjob/ExceptionMailerCronjob.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index d5f502a0c8b1fa3bffdf68be022b88282fb13dd3..947f3273f2882f36ccc6a7ed2f5d0dcb2a3abb12 100644 (file)
@@ -32,8 +32,8 @@ class ExceptionMailerCronjob extends AbstractCronjob {
                }
                $files[gmdate('Y-m-d', TIME_NOW)] = [];
                
-               $seen = [];
                foreach ($files as $file => $value) {
+                       $seen = [];
                        $path = WCF_DIR.'log/'.$file.'.txt';
                        if (!file_exists($path)) {
                                unset($files[$file]);
@@ -64,7 +64,7 @@ class ExceptionMailerCronjob extends AbstractCronjob {
                                if ($exception['date'] < $timestamp) continue;
                                
                                $count++;
-                               if (!isset($seen[$message]) && count($files[$file]['messages']) < 3) {
+                               if (!isset($seen[$message]) && count($files[$file]['messages']) < 5) {
                                        $files[$file]['messages'][] = StringUtil::truncate(preg_replace('/\s+/', ' ', $message), 140);
                                        $seen[$message] = true;
                                }
index a56b0f1a41abeb7e0606c79b0ef5e44ffce6f610..0227c094b7a36699499ddaf386c11c4b0e3515d3 100644 (file)
 die folgenden Fehlermeldungen auf Ihrer Website {@PAGE_TITLE|language} wurden seit dem {$date|plainTime} protokolliert:
 
 {foreach from=$files key=file item=data}
-log/{$file}.txt {* this line ends with a space *}
+log/{$file}.txt ({#$data[count]} Fehlermeldung{if $data[count] > 1}en{/if}) {* this line ends with a space *}
 ==================
-
 {if $data[verdict]|isset}
 {if $data[verdict] == 'corrupt'}
 Das Fehlerprotokoll ist defekt. Bitte prüfen Sie das Protokoll händisch: {'WCF_DIR'|constant}log/{$file}.txt
@@ -646,13 +645,14 @@ Das Fehlerprotokoll ist defekt. Bitte prüfen Sie das Protokoll händisch: {'WCF
 Das Fehlerprotokoll ist sehr groß. Bitte prüfen Sie das Protokoll händisch: {'WCF_DIR'|constant}log/{$file}.txt
 {/if}
 {else}
-Das Fehlerprotokoll enthält {$data[count]} neue Einträge. Die ersten drei, in dieser E-Mail noch nicht genannten, Fehlermeldungen lauten:
 {foreach from=$data[messages] item=message}
 - {@$message} {* this line ends with a space *}
 {/foreach}
 {/if}
 {* this line is intentionally left empty *}
-{/foreach}]]></item>
+{/foreach}
+
+ACHTUNG: Die oben genannten Meldungen sind stark gekürzt. Sie können Details zu einzelnen Fehlermeldungen in der Administrationsoberfläche unter „Protokoll » Fehler“ einsehen.]]></item>
        </category>
        <category name="wcf.acp.group">
                <item name="wcf.acp.group.add"><![CDATA[Benutzergruppe hinzufügen]]></item>
index 54622a01fc4a1cdf27671ce12c881d88aef08704..ba9f63ba928ef837bc3d2aa25072f0e3f68825bc 100644 (file)
 the following errors have been logged on your website {@PAGE_TITLE|language} since {$date|plainTime}:
 
 {foreach from=$files key=file item=data}
-log/{$file}.txt {* this line ends with a space *}
+log/{$file}.txt ({#$data[count]} error{if $data[count] > 1}s{/if}) {* this line ends with a space *}
 ==================
-
 {if $data[verdict]|isset}
 {if $data[verdict] == 'corrupt'}
 This protocol file is corrupted. Please check the protocol manually: {'WCF_DIR'|constant}log/{$file}.txt
@@ -622,13 +621,14 @@ This protocol file is corrupted. Please check the protocol manually: {'WCF_DIR'|
 This protocol file is very large. Please check the protocol manually: {'WCF_DIR'|constant}log/{$file}.txt
 {/if}
 {else}
-This protocol file contains {$data[count]} new entries. The first three error messages that are not yet listed in this email are:
 {foreach from=$data[messages] item=message}
 - {@$message} {* this line ends with a space *}
 {/foreach}
 {/if}
 {* this line is intentionally left empty *}
-{/foreach}]]></item>
+{/foreach}
+
+ATTENTION: The messages listed above are greatly shortened. You can view details of individual error messages in the administration interface under “Logs » Errors”.]]></item>
        </category>
        <category name="wcf.acp.group">
                <item name="wcf.acp.group.add"><![CDATA[Add User Group]]></item>