【问题标题】:How to configure custom log file in java web project如何在 java web 项目中配置自定义日志文件
【发布时间】:2012-05-25 01:56:26
【问题描述】:

我正在使用 eclipse IDE 和 jboss 服务器(版本 5)开发一个 java web 应用程序。我正在尝试使用以下代码为我的应用程序实现自定义日志文件:

FileAppender fileAppender=new FileAppender(newPatternLayout(),Constant.LOGGER_PATH);
logger.addAppender(fileAppender);
BasicConfigurator.configure();
logger.setLevel(Level.ERROR);
logger.error(cause);

当我尝试将我的应用程序部署到 jboss 服务器时,它会出现以下异常:

18:35:16,346 错误 [STDERR] log4j:ERROR A "org.jboss.logging.util.OnlyOnceError andler”对象不可分配给“org.apache.log4j.spi.ErrorHandler”变量 乐。 18:35:16,346 错误 [STDERR] log4j:ERROR 类“org.apache.log4j.spi.ErrorHa dler" 由 18:35:16,346 错误 [STDERR] log4j:错误 [WebappClassLoader 委托人:假 存储库: /WEB-INF/类/ ----------> 父类加载器: java.net.FactoryURLClassLoader@893918 ] 而对象类型 18:35:16,346 错误 [STDERR] log4j:ERROR "org.jboss.logging.util.OnlyOnceErrorHa dler" 由 [org.jboss.system.server.NoAnnotationURLClassLoader@a32b] 加载。 18:35:16,377 错误 [STDERR] log4j:ERROR 无法创建 Appender。报告 错误如下。 18:35:16,377 错误 [STDERR] java.lang.ClassCastException: org.jboss.logging.app nder.DailyRollingFileAppender 不能转换为 org.apache.log4j.Appender

【问题讨论】:

    标签: java log4j jboss5.x


    【解决方案1】:

    看起来您的应用程序在其lib 目录中拥有自己的log4j.jar 包副本。这将与 JBoss 自己的副本发生冲突。

    lib 目录中删除该 JAR 并重试,您的应用将使用 JBoss 副本。

    【讨论】:

    • 感谢您的建议,但由于客户端托管服务器出现问题,服务器日志上没有打印日志数据。这就是为什么我必须实现这个自定义日志文件。我可以在任何代码的帮助下避免这种冲突吗?如果有什么,请帮助我。
    • @user1401030:当您将 log4j JAR 从应用程序中取出时,您的自定义记录器仍然可以工作。它将使用 JBoss 的 JAR 副本。
    • 非常感谢您的建议。它真的帮助我克服了我的问题。
    猜你喜欢
    • 2014-03-28
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 2013-01-06
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多