logback with EJB3.1

前端 未结 4 393
陌清茗
陌清茗 2020-12-17 01:56

I am using logback/slf4j to handle logging in my application. Everything was working perfectly until I started using EJBs. Once I added a stateless EJB to my app, the logger

4条回答
  •  独厮守ぢ
    2020-12-17 02:24

    Here is pretty much the exact relevant code:

    The Login EJB:

    @Stateless 
    @Interceptors(LoggingInterceptor.class)
    public class LoginEJB
    {
        @PersistenceContext(unitName = "persistence")
        private EntityManager em;
    
        public User getUser(String username)
        {
            try
            {
                Query query = em.createQuery("Select u from User u where u.userName = '" + username + "'");
                User user = (User) query.getSingleResult();
                return user;
            } catch (NoResultException e)
            {
                return null;
            }
    
        }
    }
    

    The interceptor where my logging code is:

    import javax.interceptor.AroundInvoke;
    import javax.interceptor.InvocationContext;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    
    public class LoggingInterceptor
    {
        private Logger logger = LoggerFactory.getLogger(this.getClass());
    
        @AroundInvoke
        public Object logMethod(InvocationContext ic) throws Exception
        {
    
            logger.info("[{}] Entering - {}()", ic.getTarget().toString() , ic.getMethod().getName());
            try
            {
                return ic.proceed();
            } finally
            {
               logger.info("[{}] Exiting - {}()", ic.getTarget().toString() , ic.getMethod().getName());
            }
        }
    }
    

    The logback.xml

    
        
            
                %d{HH:mm:ss.SSS} [%-5level] [%logger{36}] - %msg%n
            
        
    
        
            c:\ItamLogs\log.txt
            
                c:\ItamLogs\Archive\log-%d{yyyy-MM-dd}.txt
            
    
            
                [%-5level] - %d{HH:mm:ss.SSS} [%logger{35}] - %msg%n
            
        
    
        
            
        
    
        
            
            
        
    
    

    The jsf2.0 backing bean.

    @ManagedBean
    public class LoginBacking extends AbstractBacking
    {
        @NotEmpty(message = "User Name required.")
        private String username;
        @NotEmpty(message = "Password required.")
        private String password;
        @EJB
        private LoginEJB loginEJB;
    
        public String getPassword()
        {
            return password;
        }
    
        public void setPassword(String password)
        {
            this.password = password;
        }
    
        public String getUsername()
        {
            return username;
        }
    
        public void setUsername(String username)
        {
            this.username = username;
        }
    
        public String performLogin()
        {
            String result = "login";
            User user = loginEJB.getUser(username);
    
            if(null == user || !user.getPassword().equals(password))
            {
                this.getFacesContext().addMessage("login-form:button-submit", new FacesMessage("The User Name or Password entered is incorrect."));
                return result;
            }
    
            this.setCurrentUser(user);
            result = "success";
            return result;
        }
    }
    

    I have a jsf page that has

    
      
    
    

    finally my pom

    
        4.0.0
    
    
        com.test
        tester
        1.0/version>
    
        Code
    
        war
    
    
        
            
                maven2-repository.dev.java.net
                Java.net Repository for Maven
                http://download.java.net/maven/2/
            
            
                
                codecaus
                codehaus
                http://repository.codehaus.org
            
            
                
                ibiblio
                http://www.ibiblio.org/maven2/
            
            
                jboss
                http://repository.jboss.com/maven2
                
                    true
                
                
                    false
                
            
            
                jboss-snapshot
                http://snapshots.jboss.org/maven2
                
                    true
                
                
                    true
                
            
            
                java.net.glassfish
                Repository hosting the jee6 artifacts
                http://download.java.net/maven/glassfish
            
        
        
            
                jboss-plugins
                http://repository.jboss.com/maven2
                
                    true
                
                
                    false
                
            
            
                jboss-snapshot-plugins
                http://snapshots.jboss.org/maven2
                
                    true
                
                
                    true
                
            
        
    
        
            
                javax.faces
                jsf-api
                2.0
                provided
            
            
                javax.servlet
                servlet-api
                2.5
                provided
            
            
                javax.el
                el-api
                1.0
                provided
            
            
                javax.validation
                validation-api
                1.0.0.GA
            
            
                org.glassfish
                bean-validator
                3.0-JBoss-4.0.0.Beta3
            
    
            
                org.glassfish.extras
                glassfish-embedded-all
                3.0
                test
            
            
                javax
                javaee-api
                6.0-SNAPSHOT
            
    
            
                junit
                junit
                4.7
            
    
    
            
                javax.faces
                jsf-api
                2.0
                provided
            
    
            
    
            
                org.hibernate
                hibernate-core
                3.5.0-CR-2
            
            
                org.hibernate
                hibernate-annotations
                3.5.0-CR-2
            
            
                org.hibernate
                hibernate-commons-annotations
                3.2.0.Beta1
            
            
                org.hibernate
                hibernate-entitymanager
                3.5.0-CR-2
            
            
                org.hibernate
                hibernate-c3p0
                3.5.0-CR-2
            
    
            
                postgresql
                postgresql
                8.4-701.jdbc4
            
    
    
            
            
                ch.qos.logback
                logback-core
                0.9.18
            
            
                ch.qos.logback
                logback-classic
                0.9.18
            
            
                org.slf4j
                slf4j-api
                1.5.11
            
    
            
                org.eclipse.persistence
                javax.persistence
                2.0.0
            
        
        
            gfv3ee6
        
    
        
            
                
                    
                        org.apache.maven.plugins
                        maven-compiler-plugin
                        
                            1.6
                            1.6
                        
                    
                    
                        org.apache.maven.plugins
                        maven-war-plugin
                        2.0
                    
    
                
            
            
                
                    org.apache.maven.plugins
                    maven-war-plugin
                    2.0
                
            
        
    
    

    Edit: I also tried changing my logger to a static, no change.

提交回复
热议问题