Hi Mark,
I apologize. I think I promised you a nickel tour of LF5 a while back. Looks like you've dung into it yourself. Regarding your investigations and questions... >I started looking at the LF5 code, trying to familiarize myself with what I >might need to do to integrate SocketHubAppender support. It took me a while >to figure out that there is an LF5Appender that is used to post the events >to the LogBrokerMonitor instance. It took me even longer to realize that >there is no direct support for SocketAppender in LF5. Instead it looks like >one is supposed to run a SocketServer that uses LF5Appender. I am guessing >that when I do this, a LF5 window will appear (being automatically created >by the LF5Appender)? That is rather clever if I understand this right. Correct! LF5 is strictly a visual Appender. The basis behind the product was to give users an alternative destination (specifically a GUI ) for logging events. The LF5Appender was designed to plug into Log4j (much like all of the other appenders) and create and instance of the LogBrokerMonitor to display the log records. Once that was working, we started adding functionality to manage the log records (Priority level filtering, Category Tree Navigation, text searching, etc.). In the second release we added a series of new features including giving users the ability to load log files from a file or URL and having the ability to start up the LF5 GUI on its own (i.e. independent of any running applications). This meant that administrators could monitor their application's log messages remotely. Other features included having the ability to save configuration parameters and storing Most Recently Used log files in a list for quick access. The final release (added just before the product was donated to Apache) included an NDC filter and Priority level color configuration. LF5 is a pretty dumb beast. All it does is display and manage log records (and that's its intent). You are correct that LF5 has no direct support for Socket Appenders( or any other appenders for that matter). However, since the SocketAppender can register another Appender to handle the output of log records, LF5 can plug in to it and receive any message being sent over a socket. >So, are there any recommendations on how to go about adding support for >SocketHubAppender? What if I wanted to connect a JMSAppender? No. If I understand the purpose of the SocketHubAppender, there is no need to add support to LF5. If events are being sent to the SocketHubAppender and then passed on to all log servers connected to the SocketHubAppender, then presumably each of the log servers has an Appender registered with it to handle the display of these events. If that is the case, then LF5 can be registered as the Appender. Or, if a RollingFileAppender is used, LF5 could open each of the log files either locally on each server or remotely from one server. >What if I wanted to connect a JMSAppender? We had actually talked about adding this functionality in but held off doing so in lieu of getting some higher priority features added. >What if I wanted to support different types of appenders all appending to the same LF5 >window? I'm not sure you want to be using LF5 this way. It is an Appender itself. Hope this helps, Brad Brad Marlborough ThoughtWorks, Inc. -- The art of heavy lifting(SM) http://www.thoughtworks.com <[EMAIL PROTECTED] rg> To: "Log4J Developers List" <[EMAIL PROTECTED]> cc: 06/26/2002 10:44 Subject: LF5 Questions PM Please respond to "Log4J Developers List" For Chainsaw, I took the approach of defining different types of receivers, since Chainsaw acts like a SocketServer and directly integrates the receiving of the logging events (it does not use an appender). I wonder if there is not an opportunity to create a new class of object in log4j? Maybe create a Receiver class that would receive remote logging events and direct them into the "local" log environment, similar to SocketServer. But, they could be created or configured as log4j objects. I'll have to think about it some more, but I would like to hear from others about how to go about this. -Mark -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
