Tomcat access logging through log4j?

后端 未结 3 1843
情话喂你
情话喂你 2021-01-06 07:12

I have a clean tomcat7 installation with log4j enabled (according to http://tomcat.apache.org/tomcat-7.0-doc/logging.html#Using_Log4j). \"Application-level\" logging do use

3条回答
  •  渐次进展
    2021-01-06 07:50

    This works for JDK-logging:

    package org.apache.plugins;
    
    import java.util.logging.Logger;
    import org.apache.catalina.valves.AccessLogValve;
    
    public class AccessLogJdkValve extends AccessLogValve {
    
        private static Logger jdkLogger = Logger.getLogger(AccessLogJdkValve.class.getName());
    
        @Override
        public void log(String msg) {
            jdkLogger.info(msg);
        }
    
        @Override
        protected synchronized void open() {
            // do nothing
        }
    }
    

    pom.xml

    
        4.0.0
        tomcat7-conf
        tomcat7-conf
        1.0-RELEASE
        jar
    
        
            
                org.apache.tomcat.maven
                common-tomcat-maven-plugin
                2.2
            
            
                org.apache.tomcat
                tomcat-catalina
                7.0.12
            
        
    
        
            src
            
                
                    maven-compiler-plugin
                    3.3
                    
                        1.8
                        1.8
                    
                
            
        
    
    

    Just compile, make a jar, put a copy in /usr/share/tomcat7/lib/, and modify server.xml. I added it to my reference tomcat7 configuration on github.

提交回复
热议问题