Log::Log4perl::JavaMap.3pm

Langue: en

Version: 2002-07-10 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

NAME

Log::Log4perl::JavaMap - maps java log4j appenders to Log::Dispatch classes

SYNOPSIS


     ###############################

     log4j.appender.FileAppndr1        = org.apache.log4j.FileAppender

     log4j.appender.FileAppndr1.File   = /var/log/onetime.log

     log4j.appender.FileAppndr1.Append = false




     log4j.appender.FileAppndr1.layout = org.apache.log4j.PatternLayout

     log4j.appender.FileAppndr1.layout.ConversionPattern=%d %4r [%t] %-5p %c %x - %m%n

     ###############################



DESCRIPTION

If somebody wants to create an appender called "org.apache.log4j.ConsoleAppender", we want to translate it to Log::Dispatch::Screen, and then translate the log4j options into Log::Dispatch parameters..

What's Implemented

(Note that you can always use the Log::Dispatch::* module. By 'implemented' I mean having a translation class that translates log4j options into the Log::Dispatch options so you can use log4j rather than log4perl syntax in your config file.)

Here's the list of appenders I see on the current (6/2002) log4j site.

These are implemented


    ConsoleAppender     - Log::Dispatch::Screen

    FileAppender        - Log::Dispatch::File

    RollingFileAppender - Log::Dispatch::FileRotate (by Mark Pfeiffer)

    JDBCAppender        - Log::Log4perl::Appender::DBI

    SyslogAppender      - Log::Dispatch::Syslog

    NTEventLogAppender  - Log::Dispatch::Win32EventLog



These should/will/might be implemented


    DailyRollingFileAppender - 

    SMTPAppender     - Log::Dispatch::Email::MailSender



These might be implemented but they don't have corresponding classes in Log::Dispatch (yet):


    NullAppender

    TelnetAppender



These might be simulated


    LF5Appender - use Tk?

    ExternallyRolledFileAppender - catch a HUP instead?



These will probably not be implemented


    AsyncAppender

    JMSAppender

    SocketAppender - (ships a serialized LoggingEvent to the server side)

    SocketHubAppender



ROLL YOUR OWN

Let's say you've in a mixed Java/Perl enviroment and you've come up with some custom Java appender with behavior you want to use in both worlds, "myorg.customAppender". You write a Perl appender with the same behavior "Myorg::CustomAppender". You want to use one config file accross both applications, so the config file will have to say 'myorg.customAppender'. But the mapping from "myorg.customAppender" to "Myorg::CustomAppender" isn't in this JavaMap class, so what do you do?

In your Perl code, before you call Log::Log4perl::init(), do this:


    $Log::Log4perl::JavaMap::user_defined{'myorg.customAppender'} = 

        'Myorg::CustomAppender';



and you can use 'myorg.customAppender' in your config file with impunity.

AUTHORS


    Kevin Goess, <cpan@goess.org> 

    Mike Schilli, <m@perlmeister.com>




    June, 2002



SEE ALSO

http://jakarta.apache.org/log4j/docs/