Skip to content

Commit 76a2a1e

Browse files
committed
work
1 parent 773b83d commit 76a2a1e

File tree

4 files changed

+72
-13
lines changed

4 files changed

+72
-13
lines changed

app/code/core/Mage/Core/etc/config.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@
299299
</translate_inline>
300300
<log>
301301
<active>0</active>
302-
<max_level>100</max_level>
302+
<min_level>100</min_level>
303303
</log>
304304
<js>
305305
<defer_mode>0</defer_mode>

app/code/core/Mage/Core/etc/system.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -625,17 +625,17 @@
625625
<show_in_website>1</show_in_website>
626626
<show_in_store>1</show_in_store>
627627
</active>
628-
<max_level translate="label comment">
629-
<label>Maximum Log Level</label>
628+
<min_level translate="label comment">
629+
<label>Minimum Log Severity</label>
630630
<frontend_type>select</frontend_type>
631631
<source_model>adminhtml/system_config_source_log_level</source_model>
632632
<sort_order>2</sort_order>
633633
<show_in_default>1</show_in_default>
634634
<show_in_website>1</show_in_website>
635635
<show_in_store>1</show_in_store>
636-
<comment>Messages with a priority lower than the selected one will not be logged. Log Levels are ordered from highest to lowest priority.</comment>
636+
<comment>Only messages at this severity level or higher will be logged. For example, selecting "Error" will log Error, Critical, Alert, and Emergency messages, but not Warning, Notice, Info, or Debug. Note: Developer mode overrides this setting and logs all levels.</comment>
637637
<depends><active>1</active></depends>
638-
</max_level>
638+
</min_level>
639639
</fields>
640640
</log>
641641
<css translate="label">
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?php
2+
3+
/**
4+
* Maho
5+
*
6+
* @category Mage
7+
* @package Mage_Core
8+
* @copyright Copyright (c) 2025 Maho (https://mahocommerce.com)
9+
* @license https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
10+
*/
11+
12+
/** @var Mage_Core_Model_Resource_Setup $installer */
13+
$installer = $this;
14+
15+
$installer->startSetup();
16+
17+
// Migrate dev/log/max_level to dev/log/min_level
18+
$connection = $installer->getConnection();
19+
$configTable = $installer->getTable('core/config_data');
20+
21+
// Check if max_level exists
22+
$select = $connection->select()
23+
->from($configTable)
24+
->where('path = ?', 'dev/log/max_level');
25+
26+
$maxLevelConfigs = $connection->fetchAll($select);
27+
28+
foreach ($maxLevelConfigs as $config) {
29+
// Convert old Zend_Log levels (0-7) to new Monolog levels
30+
$oldValue = (int) $config['value'];
31+
$newValue = match ($oldValue) {
32+
0 => 600, // Emergency (was EMERG)
33+
1 => 550, // Alert
34+
2 => 500, // Critical (was CRIT)
35+
3 => 400, // Error (was ERR)
36+
4 => 300, // Warning (was WARN)
37+
5 => 250, // Notice
38+
6 => 200, // Info
39+
7 => 100, // Debug
40+
default => 100, // Default to Debug
41+
};
42+
43+
// Insert new min_level config
44+
$connection->insertOnDuplicate(
45+
$configTable,
46+
[
47+
'scope' => $config['scope'],
48+
'scope_id' => $config['scope_id'],
49+
'path' => 'dev/log/min_level',
50+
'value' => $newValue,
51+
],
52+
['value']
53+
);
54+
}
55+
56+
// Delete old max_level configs
57+
$connection->delete($configTable, ['path = ?' => 'dev/log/max_level']);
58+
59+
$installer->endSetup();

app/code/core/Mage/Log/Helper/Data.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public function log(mixed $message, Level|int|null $level = null, string $file =
7878
// Check if XML log configuration exists - if so, bypass backend settings
7979
if (self::isLogConfigManagedByXml()) {
8080
$logActive = true;
81-
$maxLogLevel = Mage::LOG_DEBUG; // XML handlers manage their own levels
81+
$minLogLevel = Mage::LOG_DEBUG; // XML handlers manage their own levels
8282
if (empty($file)) {
8383
$file = 'system.log'; // Default file when using XML config
8484
}
@@ -95,9 +95,9 @@ public function log(mixed $message, Level|int|null $level = null, string $file =
9595
}
9696

9797
try {
98-
$maxLogLevel = (int) Mage::getStoreConfig('dev/log/max_level');
98+
$minLogLevel = (int) Mage::getStoreConfig('dev/log/min_level');
9999
} catch (Throwable $e) {
100-
$maxLogLevel = Mage::LOG_DEBUG;
100+
$minLogLevel = Mage::LOG_DEBUG;
101101
}
102102
}
103103

@@ -110,8 +110,8 @@ public function log(mixed $message, Level|int|null $level = null, string $file =
110110
if (!Mage::getIsDeveloperMode() && !$forceLog) {
111111
// Convert levels for comparison
112112
$levelValue = self::convertLogLevel($level);
113-
$maxLevelValue = self::convertLogLevel($maxLogLevel);
114-
if ($levelValue->value > $maxLevelValue->value) {
113+
$minLevelValue = self::convertLogLevel($minLogLevel);
114+
if ($levelValue->value < $minLevelValue->value) {
115115
return;
116116
}
117117
}
@@ -124,7 +124,7 @@ public function log(mixed $message, Level|int|null $level = null, string $file =
124124

125125
// Get or create logger
126126
if (!isset(self::$_loggers[$file])) {
127-
$this->createLogger($file, $maxLogLevel, $forceLog);
127+
$this->createLogger($file, $minLogLevel, $forceLog);
128128
}
129129

130130
if (is_array($message) || is_object($message)) {
@@ -139,7 +139,7 @@ public function log(mixed $message, Level|int|null $level = null, string $file =
139139
self::$_loggers[$file]->log($monologLevel, $message);
140140
}
141141

142-
protected function createLogger(string $file, Level|int $maxLogLevel, bool $forceLog): void
142+
protected function createLogger(string $file, Level|int $minLogLevel, bool $forceLog): void
143143
{
144144
$logDir = Mage::getBaseDir('var') . DS . 'log';
145145
$logFile = $logDir . DS . $file;
@@ -151,7 +151,7 @@ protected function createLogger(string $file, Level|int $maxLogLevel, bool $forc
151151
$logger = new Logger('Maho');
152152

153153
// Convert old Zend_Log level to Monolog level for configuration
154-
$configLevel = self::convertLogLevel($maxLogLevel);
154+
$configLevel = self::convertLogLevel($minLogLevel);
155155
if ($forceLog || Mage::getIsDeveloperMode()) {
156156
$configLevel = Level::Debug;
157157
}

0 commit comments

Comments
 (0)