2017-04-27 6 views
0

Log4j은 새로운 서버에 전쟁을 배포하는 동안 메일 보내기 및 인쇄 정보 로그를 중지했습니다. 이전 서버에서 전쟁을 전개하는 동안 이전에는 문제가 없었습니다. 여기에 log4j 구성을 첨부했습니다. 가능한 해결책을 제안하십시오. 또한 전쟁을 배포하는 동안 일부 javax 클래스를 찾을 수 없습니다 오류가 발생했습니다. 참고 : grails run-app 명령으로 프로젝트를 실행할 때 작동합니다. 또한 구성에서 메일 보내기 부분을 제거하면 전쟁에서 작동하기 시작합니다.서버를 교체 한 후 Log4j가 작동을 멈췄습니다 (Grals 2.5.1 프로젝트)

나는 tomcat 서버을 사용하고 있습니다.

log4j = { 

    appenders { 
     if (grails.util.Environment.current.equals(grails.util.Environment.DEVELOPMENT)){ 

      System.setProperty 'mail.debug', 'false' 
      System.setProperty 'mail.smtp.protocol', 'smtp' 
      System.setProperty 'mail.smtp.auth', 'true' 
      System.setProperty 'mail.smtp.starttls.enable', 'true' 
      System.setProperty 'mail.smtp.starttls.required', 'true' 
      def patternLayout = new org.apache.log4j.PatternLayout() 
      def mailAppender = new org.apache.log4j.net.SMTPAppender() 

      patternLayout.setConversionPattern("%d{HH:mm:ss} %C %m%n") 
      mailAppender.setSMTPPort(587) 
      mailAppender.setFrom("") 
      mailAppender.setTo("") 
      mailAppender.setSubject("Log4j error generated for Care Manager LOCAL") 
      mailAppender.setSMTPHost("email-smtp.us-east-1.amazonaws.com") 
      mailAppender.setLayout(patternLayout) 
      mailAppender.setSMTPDebug(false) 
      mailAppender.setSMTPUsername("") 
      mailAppender.setSMTPPassword("") 
      mailAppender.setThreshold(org.apache.log4j.Level.ERROR) 
      appender name:'mail', mailAppender 
     } 
    } 

    root { 
     error 'mail','stdout' 
     error 'stdout' 
     debug 'stdout' 

    } 

    // for spring security 
    //debug 'grails.plugins.springsecurity' 
    //debug 'org.codehaus.groovy.grails.plugins.springsecurity' 
    //debug 'org.springframework.security' 
    // debug 'org.jasig.cas.client' 

    error 'org.codehaus.groovy.grails.web.servlet', // controllers 
      'org.codehaus.groovy.grails.web.pages', // GSP 
      'org.codehaus.groovy.grails.web.sitemesh', // layouts 
      'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping 
      'org.codehaus.groovy.grails.web.mapping', // URL mapping 
      'org.codehaus.groovy.grails.commons', // core/classloading 
      'org.codehaus.groovy.grails.plugins', // plugins 
      'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration 
      'org.springframework', 
      'org.hibernate', 
      'net.sf.ehcache.hibernate', 
      'org.apache' 
    debug 'org.jasig.cas.client.proxy', 
      'org.jasig.cas.client.proxy.Cas20ProxyRetriever'    


    info additivity: false, 
      stdout:[ 'grails.app.controllers'] 
    debug additivity: false, 
      stdout:[ 'grails.app.controllers'] 
} 
+0

해결책? 이전 서버와 새 서버의 차이점을 파악하십시오. 코드가 변경되지 않은 경우 코드가 실행되는 환경의 차이점을 이해할 때까지 코드를 살펴 보지 않아야합니다. – railsdog

+0

이전 복제본으로 프로젝트를 실행 한 후 작업 해 주신 귀하의 제안에 감사드립니다 서버. –

답변

0

우선 Log4J의 애 퍼더 내에 시스템 구성 매개 변수가 있습니까? 적어도 부트 스트랩에 있어야합니다.

이제 새 서버를 만들 때 먼저 Grails를 실행하기 위해 모든 종속성을 설치하고 구성해야합니다. 설치된 Java 버전, Grails 버전, PATH 환경 변수, DNS 구성 및 권한 (특히 프록시 구성)을 확인하십시오.

코드가 변경되지 않고 작동하지 않는 경우 분명히 환경 문제입니다.

+0

예 환경 설정 문제가 있습니다. 이전 서버의 정확한 복제본을 만든 후에 작동합니다. 당신의 친절한 제안에 감사드립니다. –