{
    "mode": "perldoc",
    "parameter": "Log::Log4perl::JavaMap",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/Log%3A%3ALog4perl%3A%3AJavaMap/json",
    "generated": "2026-06-09T15:47:50Z",
    "synopsis": "###############################\nlog4j.appender.FileAppndr1        = org.apache.log4j.FileAppender\nlog4j.appender.FileAppndr1.File   = /var/log/onetime.log\nlog4j.appender.FileAppndr1.Append = false\nlog4j.appender.FileAppndr1.layout = org.apache.log4j.PatternLayout\nlog4j.appender.FileAppndr1.layout.ConversionPattern=%d %4r [%t] %-5p %c %x - %m%n\n###############################",
    "sections": {
        "NAME": {
            "content": "Log::Log4perl::JavaMap - maps java log4j appenders to Log::Dispatch classes\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "###############################\nlog4j.appender.FileAppndr1        = org.apache.log4j.FileAppender\nlog4j.appender.FileAppndr1.File   = /var/log/onetime.log\nlog4j.appender.FileAppndr1.Append = false\n\nlog4j.appender.FileAppndr1.layout = org.apache.log4j.PatternLayout\nlog4j.appender.FileAppndr1.layout.ConversionPattern=%d %4r [%t] %-5p %c %x - %m%n\n###############################\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "If somebody wants to create an appender called \"org.apache.log4j.ConsoleAppender\", we want to\ntranslate it to Log::Dispatch::Screen, and then translate the log4j options into Log::Dispatch\nparameters..\n",
            "subsections": [
                {
                    "name": "What's Implemented",
                    "content": "(Note that you can always use the Log::Dispatch::* module. By 'implemented' I mean having a\ntranslation class that translates log4j options into the Log::Dispatch options so you can use\nlog4j rather than log4perl syntax in your config file.)\n\nHere's the list of appenders I see on the current (6/2002) log4j site.\n\nThese are implemented\n\nConsoleAppender     - Log::Dispatch::Screen\nFileAppender        - Log::Dispatch::File\nRollingFileAppender - Log::Dispatch::FileRotate (by Mark Pfeiffer)\nJDBCAppender        - Log::Log4perl::Appender::DBI\nSyslogAppender      - Log::Dispatch::Syslog\nNTEventLogAppender  - Log::Dispatch::Win32EventLog\n\nThese should/will/might be implemented\n\nDailyRollingFileAppender -\nSMTPAppender     - Log::Dispatch::Email::MailSender\n\nThese might be implemented but they don't have corresponding classes in Log::Dispatch (yet):\n\nNullAppender\nTelnetAppender\n\nThese might be simulated\n\nLF5Appender - use Tk?\nExternallyRolledFileAppender - catch a HUP instead?\n\nThese will probably not be implemented\n\nAsyncAppender\nJMSAppender\nSocketAppender - (ships a serialized LoggingEvent to the server side)\nSocketHubAppender\n"
                }
            ]
        },
        "ROLL YOUR OWN": {
            "content": "Let's say you've in a mixed Java/Perl environment and you've come up with some custom Java\nappender with behavior you want to use in both worlds, \"myorg.customAppender\". You write a Perl\nappender with the same behavior \"Myorg::CustomAppender\". You want to use one config file across\nboth applications, so the config file will have to say 'myorg.customAppender'. But the mapping\nfrom \"myorg.customAppender\" to \"Myorg::CustomAppender\" isn't in this JavaMap class, so what do\nyou do?\n\nIn your Perl code, before you call Log::Log4perl::init(), do this:\n\n$Log::Log4perl::JavaMap::userdefined{'myorg.customAppender'} =\n'Myorg::CustomAppender';\n\nand you can use 'myorg.customAppender' in your config file with impunity.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "http://jakarta.apache.org/log4j/docs/\n",
            "subsections": []
        },
        "LICENSE": {
            "content": "Copyright 2002-2013 by Mike Schilli <m@perlmeister.com> and Kevin Goess <cpan@goess.org>.\n\nThis library is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Please contribute patches to the project on Github:\n\nhttp://github.com/mschilli/log4perl\n\nSend bug reports or requests for enhancements to the authors via our\n\nMAILING LIST (questions, bug reports, suggestions/patches): log4perl-devel@lists.sourceforge.net\n\nAuthors (please contact them via the list above, not directly): Mike Schilli\n<m@perlmeister.com>, Kevin Goess <cpan@goess.org>\n\nContributors (in alphabetical order): Ateeq Altaf, Cory Bennett, Jens Berthold, Jeremy Bopp,\nHutton Davidson, Chris R. Donnelly, Matisse Enzer, Hugh Esco, Anthony Foiani, James FitzGibbon,\nCarl Franks, Dennis Gregorovic, Andy Grundman, Paul Harrington, Alexander Hartmaier David Hull,\nRobert Jacobson, Jason Kohles, Jeff Macdonald, Markus Peter, Brett Rann, Peter Rabbitson, Erik\nSelberg, Aaron Straup Cope, Lars Thegler, David Viner, Mac Yang.\n",
            "subsections": []
        }
    },
    "summary": "Log::Log4perl::JavaMap - maps java log4j appenders to Log::Dispatch classes",
    "flags": [],
    "examples": [],
    "see_also": []
}