{"record":{"id":"303b4b0304d19dfb","repo":"Seldaek/monolog","slug":"level-level-is-not-defined-use-one-of-lev","errorCode":null,"errorMessage":"Level \"${level}\" is not defined, use one of: ${levels}","messagePattern":"Level \"(.+?)\" is not defined, use one of: (.+?)","errorType":"exception","errorClass":"InvalidArgumentException","httpStatus":null,"severity":"error","filePath":"src/Monolog/Logger.php","lineNumber":490,"sourceCode":"    /**\n     * Converts PSR-3 levels to Monolog ones if necessary\n     *\n     * @param  int|string|Level|LogLevel::*      $level Level number (monolog) or name (PSR-3)\n     * @throws \\Psr\\Log\\InvalidArgumentException If level is not defined\n     *\n     * @phpstan-param value-of<Level::VALUES>|value-of<Level::NAMES>|Level|LogLevel::* $level\n     */\n    public static function toMonologLevel(string|int|Level $level): Level\n    {\n        if ($level instanceof Level) {\n            return $level;\n        }\n\n        if (\\is_string($level)) {\n            if (is_numeric($level)) {\n                $levelEnum = Level::tryFrom((int) $level);\n                if ($levelEnum === null) {\n                    throw new InvalidArgumentException('Level \"'.$level.'\" is not defined, use one of: '.implode(', ', Level::NAMES + Level::VALUES));\n                }\n\n                return $levelEnum;\n            }\n\n            // Contains first char of all log levels and avoids using strtoupper() which may have\n            // strange results depending on locale (for example, \"i\" will become \"İ\" in Turkish locale)\n            $upper = strtr(substr($level, 0, 1), 'dinweca', 'DINWECA') . strtolower(substr($level, 1));\n            if (\\defined(Level::class.'::'.$upper)) {\n                return \\constant(Level::class . '::' . $upper);\n            }\n\n            throw new InvalidArgumentException('Level \"'.$level.'\" is not defined, use one of: '.implode(', ', Level::NAMES + Level::VALUES));\n        }\n\n        $levelEnum = Level::tryFrom($level);\n        if ($levelEnum === null) {\n            throw new InvalidArgumentException('Level \"'.var_export($level, true).'\" is not defined, use one of: '.implode(', ', Level::NAMES + Level::VALUES));","sourceCodeStart":472,"sourceCodeEnd":508,"githubUrl":"https://github.com/Seldaek/monolog/blob/57eb1028342134e701e77c617565d51b6e5a2a53/src/Monolog/Logger.php#L472-L508","documentation":"Error \"Level \"${level}\" is not defined, use one of: ${levels}\" thrown in Seldaek/monolog.","triggerScenarios":"Thrown at src/Monolog/Logger.php:490 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"57eb1028342134e701e77c617565d51b6e5a2a53","analyzedAt":"2026-08-17T02:36:30.259Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}