{
    "content": [
        {
            "type": "text",
            "text": "# Log::Any::Adapter::Util (perldoc)\n\n## NAME\n\nLog::Any::Adapter::Util - Common utility functions for Log::Any\n\n## DESCRIPTION\n\nThis module has utility functions to help develop Log::Any::Adapter subclasses or\nLog::Any::Proxy formatters/filters. It also has some functions used in internal testing.\n\n## Sections\n\n- **NAME**\n- **VERSION**\n- **DESCRIPTION**\n- **SUBROUTINES**\n- **USAGE** (1 subsections)\n- **AUTHORS**\n- **COPYRIGHT AND LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Log::Any::Adapter::Util",
        "section": "",
        "mode": "perldoc",
        "summary": "Log::Any::Adapter::Util - Common utility functions for Log::Any",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "SUBROUTINES",
                "lines": 41,
                "subsections": []
            },
            {
                "name": "USAGE",
                "lines": 2,
                "subsections": [
                    {
                        "name": "Log level constants",
                        "lines": 13
                    }
                ]
            },
            {
                "name": "AUTHORS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "COPYRIGHT AND LICENSE",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Log::Any::Adapter::Util - Common utility functions for Log::Any\n",
                "subsections": []
            },
            "VERSION": {
                "content": "version 1.710\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This module has utility functions to help develop Log::Any::Adapter subclasses or\nLog::Any::Proxy formatters/filters. It also has some functions used in internal testing.\n",
                "subsections": []
            },
            "SUBROUTINES": {
                "content": "loggingmethods\nReturns a list of all logging method. E.g. \"trace\", \"info\", etc.\n\ndetectionmethods\nReturns a list of detection methods. E.g. \"istrace\", \"isinfo\", etc.\n\nlogginganddetectionmethods\nReturns a list of logging and detection methods (but not aliases).\n\nloglevelaliases\nReturns key/value pairs mapping aliases to \"official\" names. E.g. \"err\" maps to \"error\".\n\nloggingaliases\nReturns a list of logging alias names. These are the keys from \"loglevelaliases\".\n\ndetectionaliases\nReturns a list of detection aliases. E.g. \"iserr\", \"isfatal\", etc.\n\nnumericlevel\nGiven a level name (or alias), returns the numeric value described above under log level\nconstants. E.g. \"err\" would return 3.\n\ndumponeline\nGiven a reference, returns a one-line Data::Dumper dump with keys sorted.\n\nmakemethod\nGiven a method name, a code reference and a package name, installs the code reference as a\nmethod in the package.\n\nrequiredynamic (DEPRECATED)\nGiven a class name, attempts to load it via require unless the class already has a constructor\navailable. Throws an error on failure. Used internally and may become private in the future.\n\nreadfile (DEPRECATED)\nSlurp a file. Does *not* apply any layers. Used for testing and may become private in the\nfuture.\n\ncmpdeeply (DEPRECATED)\nCompares dumponeline results for two references. Also takes a test label as a third argument.\nUsed for testing and may become private in the future.\n",
                "subsections": []
            },
            "USAGE": {
                "content": "Nothing is exported by default.\n",
                "subsections": [
                    {
                        "name": "Log level constants",
                        "content": "If the \":levels\" tag is included in the import list, the following numeric constants will be\nimported:\n\nEMERGENCY => 0\nALERT     => 1\nCRITICAL  => 2\nERROR     => 3\nWARNING   => 4\nNOTICE    => 5\nINFO      => 6\nDEBUG     => 7\nTRACE     => 8\n"
                    }
                ]
            },
            "AUTHORS": {
                "content": "*   Jonathan Swartz <swartz@pobox.com>\n\n*   David Golden <dagolden@cpan.org>\n\n*   Doug Bell <preaction@cpan.org>\n\n*   Daniel Pittman <daniel@rimspace.net>\n\n*   Stephen Thirlwall <sdt@cpan.org>\n",
                "subsections": []
            },
            "COPYRIGHT AND LICENSE": {
                "content": "This software is copyright (c) 2017 by Jonathan Swartz, David Golden, and Doug Bell.\n\nThis is free software; you can redistribute it and/or modify it under the same terms as the Perl\n5 programming language system itself.\n",
                "subsections": []
            }
        }
    }
}