[ 
http://issues.apache.org/jira/browse/FTPSERVER-15?page=comments#action_12331470 
] 

Rana Bhattacharyya commented on FTPSERVER-15:
---------------------------------------------

I have commited the changes due to commons-logging. Few points about it:

1. lib path changed. Now the structure is:

<ROOT>
      |---- common
                   |---- classes
                   |---- lib

We will store the standard log4j properties file in common/classes directory. 
We will not bundle in ftpserver jar file so that it will be easier to configure 
the logging.

2. All the scripts wil be in bin directory. We should not have two sets of 
scripts (one for development and one .for binary distribution).

3. Maven files and scripts have been modified due to directory structure change.

4. LogFactory.getLog(Class) will not be called in any classes. I somehow do not 
like to get the Log instance using the static method in all the classes. IMHO 
it reduces maintainability. Instead LogFactory will be created in FtpConfigImpl 
(LogFactory.getFactory()) and this LogFactory will be passed using 
setLogFactory() method. Whenever necessary different classes will use 
logFactory.getInstance(Class) to get the Log object. As we are not using 
LogFactory.getLog() static methods in all the classes, we will have the 
centralized control over LogFactory.

5. Log4J is optional. Even if we have this dependency in maven, it is not 
necessary. If we remove log4j jar, other logging mechanism will be used - JDK 
logging or console logging. So LoggerPanel should not depend on log4j. If user 
wants to use a non-log4j log factory, LoggerPanel will not work. So to achive 
this, I have added one FtpLogFactory class. It just wraps the LogFactory we got 
by calling LogFactory.getFactory() static method in FtpConfigImpl. All the 
classes will get this FtpLogFactory instance. Whenever we call 
logFactory.getInstance(Class), FtpLogFactory will return a proxy log which will 
have default Log implementation and our custom Log implementation as well. Now 
LoggerPanel implements Log interface. The LoggerPanel sets this into 
FtpLogFactory.

> FTPServer should use commons-logging and should not output to System.out
> ------------------------------------------------------------------------
>
>          Key: FTPSERVER-15
>          URL: http://issues.apache.org/jira/browse/FTPSERVER-15
>      Project: FtpServer
>         Type: Wish
>  Environment: log4j
>     Reporter: Sergey Vladimirov
>     Priority: Minor
>  Attachments: patch.txt, patch.txt, patchLoggerPanel.txt
>
> I don't want to implement loggers component for each plug-in, that I 
> embedding to my system. All components of Apache should use commons-logging, 
> to simplify embedding or configuring with log4j.
> Not need to use unique Logger component
> Patch will be need soon, after merging source tree with other patches.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to