use*_*387 5 logging log4j logback slf4j weblogic-10.x
我们在当前项目中使用 log4j+commons-logging。现在我们正在从 log4j 迁移到 Logback,那么我们可以使用 logback.xml 替换 log4j.properties 还是必须将 log4j 转换为 SLF4J?
根据建议,我保持代码不变,我有这样的代码
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
public class LoggerUtil
{
// logger
static Logger logger;
// applications
public static String APP_AccInqSERVICE = "AccInqApp";
Run Code Online (Sandbox Code Playgroud)
上面的代码是 LoggerUtils.java 的一部分,它在 commonutils 中。现在有 AccInqWeb 模块,其中使用 LoggerUtils 进行这样的日志记录
LoggerUtil.info(LoggerUtil.APP_ACCT_INQ, AccountInqService.class,
"searchAccountSnapshot", "method starts....");
Run Code Online (Sandbox Code Playgroud)
我保留了 LoggerUtils.java 代码,包括 log4j-over-slf4.jar 并删除 log4j.jar 现在它编译正常,我在服务器上部署 commonutils 模块,并添加 add -Dlogback.configurationFile=C:\u001\ isuser\tesbea\user_projects\domains\iservices??10\resources\logback.xml in setDomainEnv.cmd 和 logback jar 我在类路径上设置了 logback jar 但我没有得到任何日志我们使用 WLS10.3.0 有什么我需要的做配置
小智 2
Logback 应该与 log4j 一起使用
logback-classic 模块可以被同化为 log4j 的显着改进版本。此外,logback-classic 本身实现了 SLF4J API,因此您可以轻松地在 logback 和其他日志框架(例如 log4j 或 java.util.logging (JUL))之间来回切换。 登录网站
将 jar 文件添加到您的项目或 POM
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
要切换到 logback,您要做的第一件事是将其添加logback.xml到您的资源文件夹中。这是一个看起来像这样的文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="USER_HOME" value="C:\\logs\\analyzer" />
<appender name="FILE-THREAD" class="ch.qos.logback.classic.sift.SiftingAppender">
<!-- This is MDC value -->
<!-- We will assign a value to 'logFileName' via Java code -->
<discriminator>
<key>logFileName</key>
<defaultValue>head0</defaultValue>
</discriminator>
<sift>
<!-- A standard RollingFileAppender, the log file is based on 'logFileName' at runtime -->
<appender name="FILE-${logFileName}"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${USER_HOME}/${logFileName}.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} %mdc [%thread] %level %logger{35} - %msg%n
</Pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>${USER_HOME}/${logFileName}.%i.log.zip
</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
</sift>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
<logger name="com.yourproject.analyzer.core" level="debug"
additivity="false">
<appender-ref ref="FILE-THREAD" />
<appender-ref ref="STDOUT" />
</logger>
<root level="error">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后您需要将日志记录目录web.xml从 log4j 更改为 logback
<context-param>
<param-name>loggingName</param-name>
<param-value>logbackdirectory</param-value>
<context-param>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7171 次 |
| 最近记录: |