切换服务器后 Log4j 已停止工作(Grals 2.5.1 项目)
Log4j has stopped working after switch the server(Grals 2.5.1 project)
Log4j
在新服务器中部署 war 时已停止发送邮件和打印信息日志。在旧服务器中部署 war 之前它工作正常。我在这里附上了 log4j 配置。请提出可能的解决方案。在部署 war 时,我还看到一些 javax
class not found 错误。注意:当我们通过 grails 运行-app 命令 运行 项目时,它正在工作。如果我们从配置中删除邮件发送部分,它也会在 war 中开始工作。
我正在使用 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']
}
首先,“为什么在 Log4J 的附加程序中有系统配置参数?至少,那应该在 BootStrap.
现在,当您创建一个新服务器时,您首先需要安装和配置其所有依赖项,以便 Grails 运行。检查安装的 Java 版本、Grails 版本、PATH 环境变量、DNS 配置和权限(特别是代理配置)。
如果代码没有改变,无法正常工作,那肯定是环境问题。
Log4j
在新服务器中部署 war 时已停止发送邮件和打印信息日志。在旧服务器中部署 war 之前它工作正常。我在这里附上了 log4j 配置。请提出可能的解决方案。在部署 war 时,我还看到一些 javax
class not found 错误。注意:当我们通过 grails 运行-app 命令 运行 项目时,它正在工作。如果我们从配置中删除邮件发送部分,它也会在 war 中开始工作。
我正在使用 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']
}
首先,“为什么在 Log4J 的附加程序中有系统配置参数?至少,那应该在 BootStrap.
现在,当您创建一个新服务器时,您首先需要安装和配置其所有依赖项,以便 Grails 运行。检查安装的 Java 版本、Grails 版本、PATH 环境变量、DNS 配置和权限(特别是代理配置)。
如果代码没有改变,无法正常工作,那肯定是环境问题。