I'm going to try to start working on cleaning up some of our log initialization stuffs, in order to help make it easier for users to use a different log implementation than log4j.
This will involve setting log4j.configuration system property in our scripts to point to the appropriate configuration file, and removing some of the log4j initialization code. The one feature which is pretty highly tied to the log4j implementation is the SocketAppender feature in the monitor, which our example server configs use by default. Support for that feature is provided by a log4j-specific implementation. Other implementations may not provide a compatible/equivalent SocketAppender client. The biggest problem I think we'll run into by removing the log4j initialization in code is that we currently dynamically determine the location of the monitor, and set a property which the default/example configs use as a parameter to the socket appender. We might be able to do some of this in scripts, but not the re-initialization if the monitor moves locations. I'm going to investigate some options for an alternative... perhaps a custom AccumuloMonitorSocketAppender, which does the location detection internally (rather than as a parameter).
