这篇文章描述了如何在Spring中设置日志依赖。 它基于Dave Syer的帖子中提供的信息 。 这里提供有关Java日志记录框架的提醒。 该代码示例可在GitHub的Spring-Logging-Dependencies目录中找到。
Spring使用Jakarta Commons Logging API(JCL)。 不幸的是,许多人不喜欢它的运行时发现算法。 我们可以禁用它,而将SLF4J与Logback结合使用。 我们将使用带有注释的Spring MVC示例的变体来执行此操作。
这是修改后的控制器:
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyController {
private static final Logger LOG
= LoggerFactory.getLogger(MyController.class);
@RequestMapping(value = '/')
public String home(Model model) {
String s = 'Logging at: ' + System.currentTimeMillis();
LOG.info(s);
model.addAttribute('LogMsg', s);
return 'index';
}
}
我们创建一个SFL4J记录器,并以当前时间(毫秒)记录一些信息。
Maven依赖项是:
<properties>
...
<spring.version>3.1.2.RELEASE</spring.version>
<slf4j.version>1.7.1</slf4j.version>
<logback.version>0.9.30</logback.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
构建完成后,可以通过浏览以下内容开始示例:
http:// localhost:9393 / spring-logging-dependencies /。 它将显示以下内容:
在日志中,您将找到记录的语句:
更多的Spring帖子在这里 。
参考: 在Spring从技术说明博客中的JCG合作伙伴 Jerome Versrynge 设置日志记录依赖项 。
翻译自: https://www.javacodegeeks.com/2012/11/spring-setting-logging-dependencies.html