* static vs dynamic appenders. generate static versions, and source them

appenders
- need static function that gets called that does the work.
- for example, if the appender writes to a file, it shouldn't need to lookup
  the file as it should alread know it
- make all appenders look similar and/or same??
- save common data in variables in function, or do a 100% static solution?
- would be really good for performance if 100% static (no variables at all)

levels
- how should it be determined which appenders to call for what level?
- write all appenders in a "appenders.d" dir, and then use hard/soft links to a
  level dir (e.g. "debug.d", "info.d", etc)?

!!!
- careful. using files as storage for the static appender generation, but the
  file will be sourced in as a function so that something like funciton
  pointers of C can be used :-)
- need templates for the various appenders... templating engine? ugh!
- what work will there be in using the current paradigm of being able to
  "change" an appenders type? that will probably need to go away.
- still need a list of appenders for each logging level
- appenders do not need to be executed in same order for each logging level
  (meaning a FileAppender might fire before a SyslogAppender at INFO level, but
  the reverse might be true at DEBUG level).
- having each Level in it's own list will allow for firing of appenders at
  single levels rather than at current and at all above levels (user request.
  verify against log4j)
- when a pattern (or anything else such a file name) changes, the function
  needs to be re-loaded and re-sourced. optimize if possible.

#
# Implementation
#

logger_addAppender FileAppender 


$Revision: 236 $
