2015-01-30 2 views
0

이 사용 (또는 오히려 사용하기)되어 심볼 디버그를 해결할 수 2.5 log4j에 2.1log4j2 - 해결되지 않은 심볼 디버그

라인 logger.debug ("테스트") 수율을 서블릿.

왜 내가 말할 수있는 한 모든 문서를 따라했기 때문에 나는 조금 잃었습니다.

package myPkg; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

import org.apache.logging.log4j.LogManager; 
import org.apache.logging.log4j.Logger; 
import org.apache.logging.log4j.web.WebLoggerContextUtils; 

@Path("myresource") 
public class MyResource { 
    final Logger logger = LogManager.getLogger(MyResource.class); 
    logger.debug("test"); 

    @GET 
    @Produces(MediaType.TEXT_PLAIN) 
    public String getIt() { 
     return "Got it!"; 
    } 
} 

관련 추출물 인 문서에 따라 다음과 같이 나는 web.xml에 변경을 구현 :

<!-- log4j--> 
    <listener> 
     <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class> 
    </listener> 

    <filter> 
     <filter-name>log4jServletFilter</filter-name> 
     <filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>log4jServletFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
     <dispatcher>REQUEST</dispatcher> 
     <dispatcher>FORWARD</dispatcher> 
     <dispatcher>INCLUDE</dispatcher> 
     <dispatcher>ERROR</dispatcher> 
    </filter-mapping> 
    <!-- end log4j--> 

을 그리고 log4j에 대한 내 pom.xml 파일이

<dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-api</artifactId> 
      <version>${log4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-core</artifactId> 
      <version>${log4j.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.logging.log4j</groupId> 
      <artifactId>log4j-web</artifactId> 
      <version>${log4j.version}</version> 
     </dependency> 

컴파일처럼 보인다 시간 오류 :

(18,17) java : expected (18,18) java : 불법적 인 시작 예 :

답변

1

코드 "logger.debug ("test ");" 다음과 같이 메서드, 생성자 또는 적어도 정적 블록 안에 있어야합니다.

public class A { 
    { 
     logger.debug("test"); 
    } 
} 
+0

글쎄, 컴파일 타임 오류는 해결되었지만 log4j는 로깅되지 않습니다. 아마 Stackex에 대한 별도의 질문 일 것 같네요! –

관련 문제