DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=28961>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=28961

loggers shift files but don't roll (not deleting oldest files by prescribes file count)





------- Additional Comments From [EMAIL PROTECTED]  2004-05-28 23:38 -------
package company.util;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;

import org.apache.catalina.Container;
import org.apache.catalina.Logger;

/**
 * in logging properties:
 * 
 * log4j.category.tomcatlog=INFO, tomcat
 * 
 * log4j.appender.tomcat=org.apache.log4j.RollingFileAppender
 * log4j.appender.tomcat.MaxFileSize=1000KB
 * log4j.appender.tomcat.MaxBackupIndex=9
 * log4j.appender.tomcat.Append=true
 * log4j.appender.tomcat.File=tomcat.log
 * log4j.appender.tomcat.layout=org.apache.log4j.PatternLayout
 * log4j.appender.tomcat.layout.ConversionPattern=%d %-5p [%t] %c - %m%n
 * 
 * 
 * In server.xml:
 * 
 * <Logger verbosity="4" className="company.util.Log4JLogger"
log4JLoggerName="tomcatlog"/>
 *
 * Drop log4j jar in tomcat's common/lib
 * 
 * Drop this Log4JLogger class under proper tree under server/classes
 * 
 */
public class Log4JLogger implements Logger {

        static final String info = Log4JLogger.class.getName()+"/1.0";
        
        PropertyChangeSupport support = new PropertyChangeSupport(this);
        Container container = null;
        int debug = 0;
        int verbosity = ERROR;
        String loggerName;
        
        org.apache.log4j.Logger log4jLogger = null;
        
        
        public Log4JLogger() {
                log4jLogger = org.apache.log4j.Logger.getLogger(Log4JLogger.class);
        }
        
        public void setLog4JLoggerName(String loggerName) {
                if(loggerName!=null) {
                        org.apache.log4j.Logger l = 
org.apache.log4j.Logger.getLogger(loggerName);
                        if(l!=null) {
                                log4jLogger = l;
                                this.loggerName = loggerName;
                        }
                } else {
                        this.loggerName = null;
                        log4jLogger = 
org.apache.log4j.Logger.getLogger(Log4JLogger.class);
                }
        }
        
        public String getLog4JLoggerName() {
                return loggerName;
        }
        
        //----------
        
        public void log(Exception exception, String msg) {
                log4jLogger.error(msg, exception);
        }
        
        public void log(String message, int verbosity) {
                if (this.verbosity >= verbosity) {
                        switch(verbosity) {
                                case FATAL: log4jLogger.fatal(message); break;
                                case ERROR: log4jLogger.error(message); break;
                                case WARNING: log4jLogger.warn(message); break;
                                case INFORMATION: log4jLogger.info(message); break;
                                case DEBUG: log4jLogger.debug(message); break;
                        }
                }
        }
        public void log(String message, Throwable throwable, int verbosity) {
                if (this.verbosity >= verbosity) {
                        switch(verbosity) {
                                case FATAL: log4jLogger.fatal(message, throwable); 
break;
                                case ERROR: log4jLogger.error(message, throwable); 
break;
                                case WARNING: log4jLogger.warn(message, throwable); 
break;
                                case INFORMATION: log4jLogger.info(message, 
throwable); break;
                                case DEBUG: log4jLogger.debug(message, throwable); 
break;
                        }
                }
        }
        public void log(String message, Throwable throwable) {
                log4jLogger.error(message, throwable);
        }
        
        public void log(String message) {
                log4jLogger.info(message);
        }
        
        //----------
        
        public Container getContainer() {
                return (container);
        }
        
        public void setContainer(Container container) {
                Container oldContainer = this.container;
                this.container = container;
                support.firePropertyChange("container", oldContainer, this.container);
        }

        
        public String getInfo() {
                return (info);
        }

        public int getVerbosity() {
                return (this.verbosity);
        }

        public void setVerbosity(int verbosity) {
                this.verbosity = verbosity;
        }
        
        public void addPropertyChangeListener(PropertyChangeListener listener) {
                support.addPropertyChangeListener(listener);
        }

        public void removePropertyChangeListener(PropertyChangeListener listener) {
                support.removePropertyChangeListener(listener);
        }
}

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

Reply via email to