logger无法使用logback.xml。
在RAD中开发了一个项目,它有几个项目,如使用Maven构建的WAR,Schema和EAR,并部署到Web sphere server8.5中。
使用log4j.properties文件我的记录器工作正常,但我不想使用它。
依赖性:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
和logback文件:
<configuration debug="true">
<appender name="STDOUT_ERROR" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ALL</level>
</filter>
<encoder>
<pattern>%d{dd/MM/yyyy HH:mm:ss.SSS} [%contextName] %X{Context} %-5level [%thread][%logger{36}] - %msg%n
</pattern>
</encoder>
</appender>
<appender-ref ref="STDOUT_ERROR" />
</root>
输出日志显示:
[8/27/14 5:53:41:961 EDT] 00000090 MessageDispat I org.springframework.web.servlet.FrameworkServlet initServletBean FrameworkServlet 'memberService': initialization completed in 1000 ms
[8/27/14 5:53:41:961 EDT] 00000090 servlet I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I: [mbr-ear] [/MemberService/] [memberService]: Initialization successful.
[8/27/14 5:53:43:148 EDT] 00000090 SystemOut O 05:53:43.148 [WebContainer : 2] DEBUG c.w.m.d.nasco.ws.MemberServiceEP - <<<<<<<<<<< Entering Profile Web service >>>>>>>>>>>
[8/27/14 5:53:43:148 EDT] 00000090 SystemOut O 05:53:43.148 [WebContainer : 2] INFO c.w.m.d.nasco.ws.MemberServiceEP - <<<<<<<<<<>>>>>>>>>>
[8/27/14 5:53:43:148 EDT] 00000090 SystemOut O 05:53:43.148 [WebContainer : 2] WARN c.w.m.d.nasco.ws.MemberServiceEP - <<<<<<<<<<>>>>>>>>>>
即使我尝试使用文件追加器,但文件也没有创建。
答案 0 :(得分:2)
如果你想在log4j上使用slf4j,你在类路径中缺少一些JAR。请将其添加到Maven配置中:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
这样slf4j将拦截log4j日志并将其重定向到logback。当然,您还可以添加其他日志记录外观,例如commons-logging和java.util.logging:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
答案 1 :(得分:1)
感谢魔杖。
现在正在运作。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
这个依赖我已经给了EAR项目的pom文件 现在它的工作正常。 再次感谢。