首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有救生索和tomcat的log4j

带有救生索和tomcat的log4j
EN

Stack Overflow用户
提问于 2011-04-19 19:00:20
回答 2查看 3.4K关注 0票数 2

我在Tomcat6上有一个Liferay设置。我最初将Log4j用于portlet/webapps,方法是在classes文件夹中添加log4j.properties文件,在web-inf/lib中添加log4j.jar文件。

现在我们在tomcat/lib文件夹中只有几个quartz作业可用,我还想为这些作业启用log4j日志记录。

对于这些quartz作业,我在tomcat/lib中复制了相同的log4j.properties文件。

使用新配置时,我一直收到以下错误:

代码语言:javascript
运行
复制
Could not instantiate appender named "JOBS"
A "org.apache.log4j.RollingFileAppender" is not assignable a "org.apache.log4j.Appender" variable.
The class "org.apache.log4j.Appender" was loaded by ...

如何删除此错误?

有没有办法保留一个单独的log4j.properties文件,它既可以被共享的/lib也可以被portlet/webapps使用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-02 18:25:01

根据this post的说法,问题是你已经配置了你的log4j两次。

我的解决方案是像这样创建记录器实例

私有静态日志记录器= Logger.getLogger(FooBar.class.getName());

并且不将log4j.properties放在任何库或类文件夹下,而是将其放在名为resources的文件夹下。

AFAIK这应该是你的应用程序的两个部分都可以访问的地方。

票数 1
EN

Stack Overflow用户

发布于 2011-06-11 22:09:32

Liferay中的已知问题:http://issues.liferay.com/browse/LPS-9376

在我的例子中,当我开始使用ServiceBuilder服务并将Log4J记录器添加到我的一个...LocalServiceImpl类时,问题就出现了。一旦我从那里移除了Log4J日志,一切都回到了正常--异常消失了。

(我让服务方法抛出异常,并在与ServiceBuilder读取/生成的类无关的代码中捕获它们,但也可以通过将Log4J记录器调用更改为Liferay的LogUtil调用来实现)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5715311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档