当前位置: 首页 > 知识库问答 >
问题:

已迁移到weblogic上的logback,但未进行日志记录

甘学潞
2023-03-14

我正在运行一个POC来查看将我们的j2ee应用程序迁移到Logback的影响。我花了一些时间在官方网站上,显然,除了新的JAR之外,唯一的变化就是logback.xml文件。不幸的是,这似乎还不够,部署工作了,日志文件也创建了,但没有记录任何内容(空)。

我的代码有以下语句

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

private static final Logger log = LoggerFactory.getLogger(CustomerServiceBean.class);
log.debug("test Log Back - customer ID  " + input.getCustomerId());

pom.xml现在具有以下内容

<dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-classic</artifactId>
   <version>0.9.18</version>
 </dependency>

xml(使用官方网站上的web实用程序创建)

<configuration>
   <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
   <!--See also http://logback.qos.ch/manual/appenders.html#RollingFileAppender-->
   <File>/var/log/dcs-3/dcs3.log</File>
   <encoder>
     <pattern>%d{ABSOLUTE} %5p %c{1}:%L - %m%n</pattern>
   </encoder>
   <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
     <maxIndex>1</maxIndex>
     <FileNamePattern>/var/log/dcs-3/dcs3.log.%i</FileNamePattern>
   </rollingPolicy>
   <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
     <MaxFileSize>1MB</MaxFileSize>
   </triggeringPolicy>
 </appender>
 <logger name="com.lgi.dcs" level="DEBUG" />
 <root level="debug">
   <appender-ref ref="file"/>
 </root>
</configuration>

这让我想到了weblogic中的log4j。

共有1个答案

童浩言
2023-03-14

正如您在上面提到的,记录器工厂返回的是log4j的实例,而不是logback。这意味着类路径上仍然有log4j。它可能被直接提供并被错误地留在那里,或者作为对您正在使用的库的依赖。如果您正在使用maven,请尝试调查log4j存在的有效POM,并排除它们。否则就得手动操作。如果您会发现依赖项,那么删除它就可以了。

您应该查找的jar可能是slf4j bridge log4j-over-Slf4j。jcl-over-slf4j也可能是相关的。

 类似资料:
  • 我需要选择一个日志框架来替换log4j。我最初选择slf4j logback作为日志记录,并编写了以下配置,将应用程序日志和apache cxf的日志输出到单独的文件中,并在控制台上输出Spring/hibernate日志: 然而,我开始了解log4j2中的异步日志记录,我想在我的设置中使用log4j2实现异步日志记录,为此我编写了以下配置: log4j2配置可以工作,但它只在文件(app_log

  • 问题内容: 我正在迁移一个曾经使用log4j进行logback / slf4j的应用程序,并且已经出现问题约2周了……我做了一个小项目来测试logback / slf4j,它的工作效果很好,但是由于某种原因,在应用它时到实际的应用程序,它只是不想工作。 我正在使用JBoss 6.2,将EAR部署到standalone / deployments目录并启动服务器(除了我得到这个异常的事实,这一切都很

  • 我在具有以下logback.xml文件的类路径中有slf4j和logback jar(该文件以前已经成功使用过)。但是,DOCX4J3.0仍然将日志记录信息打印到标准输出。我正在使用NetBeans7.4构建基于docx4j的应用程序。我想将日志级别更改为错误,并将其发送到日志文件中。不知道我错过了什么。任何帮助都是非常感谢的。

  • 我正在尝试使用AWS文档中描述的Log4J2日志: https://docs.aws.amazon.com/lambda/latest/dg/java-logging.html#java-wt-logging-using-log4j2.8 错误但是当运行lambda时,我得到了以下错误:(我删除了下面的时间戳以提高可读性) 我尝试过确保log4J libs和,,和都在包中。

  • 我正试图从迁移到,但在所有更改之后,日志没有打印出来。我使用的“选项2”是https://logging.apache.org/log4j/2.x/manual/migration.html . 我添加了在我的libs文件夹中,并正确配置了在

  • 从上到下,我有security-role-assignment,它将ldap组中的用户映射为registered_user。我认为标记会话描述符是自我解释的。然后是我的应用程序上下文根上下文-根。然后是一些用于将servlet注册到Weblogic的servlet定义(这也是在web.xml中定义的,我认为这将不需要更多的处理)。 那么在我的应用程序中迁移这个weblogic.xml文件的最佳方法