2017-02-25 25 views
0

wildfly AS를 컨테이너로 사용하여 로깅 및 프린터 관리에 문제가 있습니다.SpringMVC 응용 프로그램을 사용한 Widfly 로깅 구성

Eclipse 도구를 사용하여 기본 기본 springMVC 응용 프로그램을 설정하고 프로젝트를 기본 log4j.xml 파일로 설정합니다. 파일을 wildfly에 배포하면 모든 로거가 무시됩니다.

Google에서 검색 한 후 서버에서 수행해야하는 구성이 있어야 함을 알아 냈습니다. standalone.xml 파일면.

의 pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
     <modelVersion>4.0.0</modelVersion> 
     <groupId>ma.mrer</groupId> 
     <artifactId>net</artifactId> 
     <name>SpringMVC</name> 
     <packaging>war</packaging> 
     <version>1.0.0-BUILD-SNAPSHOT</version> 
     <properties> 
      <java-version>1.6</java-version> 
      <org.springframework-version>3.1.1.RELEASE</org.springframework-version> 
      <org.aspectj-version>1.6.10</org.aspectj-version> 
      <org.slf4j-version>1.6.6</org.slf4j-version> 
     </properties> 
     <dependencies> 
      <!-- Spring --> 
      <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-context</artifactId> 
       <version>${org.springframework-version}</version> 
       <exclusions> 
        <!-- Exclude Commons Logging in favor of SLF4j --> 
        <exclusion> 
         <groupId>commons-logging</groupId> 
         <artifactId>commons-logging</artifactId> 
        </exclusion> 
       </exclusions> 
      </dependency> 
      <dependency> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-webmvc</artifactId> 
       <version>${org.springframework-version}</version> 
      </dependency> 

      <!-- AspectJ --> 
      <dependency> 
       <groupId>org.aspectj</groupId> 
       <artifactId>aspectjrt</artifactId> 
       <version>${org.aspectj-version}</version> 
      </dependency> 

      <!-- Logging --> 
      <dependency> 
       <groupId>org.slf4j</groupId> 
       <artifactId>slf4j-api</artifactId> 
       <version>${org.slf4j-version}</version> 
      </dependency> 
      <dependency> 
       <groupId>org.slf4j</groupId> 
       <artifactId>jcl-over-slf4j</artifactId> 
       <version>${org.slf4j-version}</version> 
       <scope>runtime</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.slf4j</groupId> 
       <artifactId>slf4j-log4j12</artifactId> 
       <version>${org.slf4j-version}</version> 
       <scope>runtime</scope> 
      </dependency> 
      <dependency> 
       <groupId>log4j</groupId> 
       <artifactId>log4j</artifactId> 
       <version>1.2.15</version> 
       <exclusions> 
        <exclusion> 
         <groupId>javax.mail</groupId> 
         <artifactId>mail</artifactId> 
        </exclusion> 
        <exclusion> 
         <groupId>javax.jms</groupId> 
         <artifactId>jms</artifactId> 
        </exclusion> 
        <exclusion> 
         <groupId>com.sun.jdmk</groupId> 
         <artifactId>jmxtools</artifactId> 
        </exclusion> 
        <exclusion> 
         <groupId>com.sun.jmx</groupId> 
         <artifactId>jmxri</artifactId> 
        </exclusion> 
       </exclusions> 
       <scope>runtime</scope> 
      </dependency> 

      <!-- @Inject --> 
      <dependency> 
       <groupId>javax.inject</groupId> 
       <artifactId>javax.inject</artifactId> 
       <version>1</version> 
      </dependency> 

      <!-- Servlet --> 
      <dependency> 
       <groupId>javax.servlet</groupId> 
       <artifactId>servlet-api</artifactId> 
       <version>2.5</version> 
       <scope>provided</scope> 
      </dependency> 
      <dependency> 
       <groupId>javax.servlet.jsp</groupId> 
       <artifactId>jsp-api</artifactId> 
       <version>2.1</version> 
       <scope>provided</scope> 
      </dependency> 
      <dependency> 
       <groupId>javax.servlet</groupId> 
       <artifactId>jstl</artifactId> 
       <version>1.2</version> 
      </dependency> 

      <!-- Test --> 
      <dependency> 
       <groupId>junit</groupId> 
       <artifactId>junit</artifactId> 
       <version>4.7</version> 
       <scope>test</scope> 
      </dependency>   
     </dependencies> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.1</version> 
        <configuration> 
         <source>1.8</source> 
         <target>1.8</target> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 
    </project> 

HomeController.java 내가 u는 나에게이 문제를 해결하는 방법을 제공 할 수 있기를 바랍니다

package ma.mrer.net; 

    import java.text.DateFormat; 
    import java.util.Date; 
    import java.util.Locale; 

    import org.slf4j.Logger; 
    import org.slf4j.LoggerFactory; 
    import org.springframework.stereotype.Controller; 
    import org.springframework.ui.Model; 
    import org.springframework.web.bind.annotation.RequestMapping; 
    import org.springframework.web.bind.annotation.RequestMethod; 

    /** 
    * Handles requests for the application home page. 
    */ 
    @Controller 
    public class HomeController { 

     private static final Logger logger = LoggerFactory.getLogger(HomeController.class); 

     /** 
     * Simply selects the home view to render by returning its name. 
     */ 
     @RequestMapping(value = "/", method = RequestMethod.GET) 
     public String home(Locale locale, Model model) { 
      logger.info("Welcome home! The client locale is {}.", locale); 

      Date date = new Date(); 
      DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); 

      String formattedDate = dateFormat.format(date); 

      model.addAttribute("serverTime", formattedDate); 

      return "home"; 
     } 

    } 

얘들 아.

Wildfly 8.2.0 버전을 사용하고 있습니다.

답변

0

slf4j를 사용하는 경우 org.slf4j:slf4j-api<scope>provided</scope>으로 표시되어야합니다. WildFly에서 로깅 하위 시스템을 사용하려면 다른 slf4j 및 log4j 종속성이 필요하지 않습니다.

log4j.xml을 slf4j와 함께 사용하려면 가장 쉬운 해결책은 jboss-deployment-structure.xml을 만들고 로깅 하위 시스템을 제외하는 것입니다.

로깅 구성 파일을 사용하는 경우 로그 구성을 변경하려면 응용 프로그램을 다시 배포해야합니다. WildFly 로깅 하위 시스템을 사용하면 재로드 또는 재배포없이 런타임에 대부분의 변경을 수행 할 수 있습니다.