我有一个Grails 2.3.7应用程序。
在Config.groovy中我添加了 -
log4j = {
appenders {
rollingFile name:'stdout', file:"${logDirectory}/myapp.log".toString()
rollingFile name:'stacktrace', file:"${logDirectory}/stacktrace_myapp.log".toString()
appender new org.apache.log4j.net.SocketAppender(name:'central',
layout:pattern(conversionPattern:'%d{ISO8601} %-5p %c{2} %x - %m%n'),
remoteHost: 'localhost', port: 4560, reconnectionDelay: 10000,locationInfo:true)
}
info 'grails.app'
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'
//debug 'org.apache.http.wire'
}
我还安装了Logstash来监听日志消息。 logstash conf。档案 -
input {
log4j {
mode => "server"
host => "localhost"
port => 4560
type => log4j
}
}
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}
但我没有看到logstash正在解析任何日志。也就是说,stdout或elasticsearch接口都没有输出。
本地主机:9200 / _search相当
虽然我能够看到myapp.log文件中生成的日志
答案 0 :(得分:1)
添加行
root { info "central", "stdout", "stacktrace" }
在appenders阻止之后做了伎俩