我正在使用Grails 1.3.7。我建立了一个战争档案&在tomcat中部署它。我有一个外部groovy配置文件,我用它来设置日志记录。我在声明中添加了一些perf4j日志记录appender,但现在配置文件无法编译,因为它无法解析完全限定的类名。
代码如下所示:
log4j = {
...
// file appender that writes out the URLs of the Google Chart API graphs generated by the performanceGraphAppender
def performanceGraphFileAppender = new org.apache.log4j.FileAppender(
fileName: "log/perfGraphs.log",
layout: pattern(conversionPattern: '%m%n')
)
appender name: 'performanceGraphFileAppender', performanceGraphFileAppender
// this appender creates the Google Chart API graphs
def performanceGraphAppender = new org.perf4j.log4j.GraphingStatisticsAppender(
graphType: 'Mean', // possible options: Mean, Min, Max, StdDev, Count or TPS
tagNamesToGraph: 'tag1,tag2,tag3',
dataPointsPerGraph: 5
)
performanceGraphAppender.addAppender(performanceGraphFileAppender)
appender name: 'performanceGraph', performanceGraphAppender
...
}
并且写入日志的错误消息是:
script1317679813518843914255.groovy: 38: unable to resolve class org.perf4j.log4j.GraphingStatisticsAppender
@ line 38, column 34.
def performanceGraphAppender = new org.perf4j.log4j.GraphingStatisticsAppender(
我正在构建的war文件包含所有必需的JAR。有关如何解决参考资料的任何想法吗?
谢谢,
基因
答案 0 :(得分:0)
部署后,有可能从tomcat开始使用log4j。看看lib
文件夹,也许它包含log4j jar。如果这是真的 - 它使用不同的类加载器,则无法看到你的perf4j类。
您可以尝试将perf4j jar放入tomcat的lib
,可能会解决此问题