복붙노트

[SPRING] 봄 부팅 1.5.2 - 로고를로드 한 후 웹 응용 프로그램이 멈 춥니 다?

SPRING

봄 부팅 1.5.2 - 로고를로드 한 후 웹 응용 프로그램이 멈 춥니 다?

스프링 부트에 대한 이상한 문제가 있습니다. 왜 스프링 부트를 사용할 수없는 웹 응용 프로그램이 시작되지 않고 터미널에서 직접 실행해도 출력 오류가 발생하지 않습니다.

java -jar /var/lib/tomcat/webapps/rasdaman.war
log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

. ____ _ __ _ _
/\ / ' __ _ () __ __ _ \ \ \ 
( ( )__ | '_ | '| | ' / ` | \ \ \ 
\/ )| |)| | | | | || (| | ) ) ) )
' || .__|| ||| |_, | / / / /
=========||==============|/=////
:: Spring Boot :: (v1.5.2.RELEASE)

[rasdaman@osboxes rasdaman]$ echo $?
1

다음은 응용 프로그램 클래스 https://pastebin.com/rinWbp9z입니다.이 웹 응용 프로그램은 Liquibase를 사용하여 데이터베이스 스키마와 스프링 부트 버전 1.5.2를 채 웁니다. 디버깅에 대한 힌트를 공유해 주시겠습니까?

해결법

  1. ==============================

    1.그래서, 문제는 log4properties를 war 파일에서 사용하고 있다는 것입니다. 그러면 제가이 전쟁을 시작할 때 다음과 같은 아주 좋은 정보를 보여줍니다 :

    그래서, 문제는 log4properties를 war 파일에서 사용하고 있다는 것입니다. 그러면 제가이 전쟁을 시작할 때 다음과 같은 아주 좋은 정보를 보여줍니다 :

    java -jar target/petascope_main/rasdaman.war
    log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    
      .   ____          _            __ _ _
     /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
     \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v1.5.2.RELEASE)
    
    Aug 28, 2017 6:00:31 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Tomcat
    Aug 28, 2017 6:00:32 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/8.5.11
    Aug 28, 2017 6:00:33 PM org.apache.catalina.core.ApplicationContext log
    INFO: Initializing Spring embedded WebApplicationContext
    Aug 28, 2017 6:00:38 PM org.apache.catalina.core.StandardService stopInternal
    INFO: Stopping service Tomcat
    

    그런 다음이 내용으로 src / main / resources에 log4j.properties 파일을 추가했습니다.

    log4j.rootLogger=debug, stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%t %-5p %c{2} - %m%n
    

    그 후 Tomcat을 중지시키는 Spring의 세부 로그를 볼 수 있습니다.

    ***************************
    APPLICATION FAILED TO START
    ***************************
    
    Description:
    
    Field abstractHandler in org.rasdaman.ApplicationMain required a single bean, but 7 were found:
        - KVPRasqlServiceHandler: defined in URL [jar:file:/home/rasdaman/build/applications/petascope/target/petascope_main/rasdaman.war!/WEB-INF/classes!/petascope/controller/handler/service/KVPRasqlServiceHandler.class]
        - KVPWCPSServiceHandler: defined in URL [jar:file:/home/rasdaman/build/applications/petascope/target/petascope_main/rasdaman.war!/WEB-INF/classes!/petascope/controller/handler/service/KVPWCPSServiceHandler.class]
        - SOAPWCSServiceHandler: defined in URL [jar:file:/home/rasdaman/build/applications/petascope/target/petascope_main/rasdaman.war!/WEB-INF/classes!/petascope/controller/handler/service/SOAPWCSServiceHandler.class]
        - KVPWCSTServiceHandler: defined in URL [jar:file:/home/rasdaman/build/applications/petascope/target/petascope_main/rasdaman.war!/WEB-INF/classes!/petascope/controller/handler/service/KVPWCSTServiceHandler.class]
        - XMLWCSServiceHandler: defined in URL [jar:file:/home/rasdaman/build/applications/petascope/target/petascope_main/rasdaman.war!/WEB-INF/classes!/petascope/controller/handler/service/XMLWCSServiceHandler.class]
        - KVPWCSServiceHandler: defined in URL [jar:file:/home/rasdaman/build/applications/petascope/target/petascope_main/rasdaman.war!/WEB-INF/classes!/petascope/controller/handler/service/KVPWCSServiceHandler.class]
        - KVPWMSServiceHandler: defined in URL [jar:file:/home/rasdaman/build/applications/petascope/target/petascope_main/rasdaman.war!/WEB-INF/classes!/petascope/controller/handler/service/KVPWMSServiceHandler.class]
    
    
    Action:
    
    Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
    

    글쎄, 나는 오류가 어떻게 감춰 질 수 있었는지 정말로 인상적이다.

  2. ==============================

    2.로그백 구성이 맞습니다!

    로그백 구성이 맞습니다!

    logback-spring.xml을 구성하면 로그가 콘솔에 나타나지 않습니다. 대신 logback-spring.xml 파일에서 구성한 LOG_HOME 위치로 가야합니다.

    모든 로그는 콘솔에 있지 않고 파일에 있습니다.

    이 문제가 해결되면 알려주십시오.

  3. from https://stackoverflow.com/questions/45919310/spring-boot-1-5-2-web-application-stops-after-loading-logo by cc-by-sa and MIT license