首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring引导和日志记录

Spring引导和日志记录
EN

Stack Overflow用户
提问于 2017-06-01 00:30:23
回答 3查看 2.1K关注 0票数 2

我有一个带有slf4j日志的Spring Boot应用程序。

Gradle:

代码语言:javascript
复制
buildscript {
    ext {
        springBootVersion = '2.0.0.BUILD-SNAPSHOT'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

dependencies {
    compile fileTree(dir: 'lib', include: '*.jar')
    compile group: 'com.google.guava', name: 'guava', version: '17.0'

    // Spring
    compile 'org.springframework.boot:spring-boot-starter-web:1.5.1.RELEASE'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-parent', version: '1.5.1.RELEASE'

    // Spring Security
    compile 'org.springframework.boot:spring-boot-starter-security'

    // Template engine
    compile 'org.springframework.boot:spring-boot-starter-thymeleaf:1.5.1.RELEASE'
    compile 'org.thymeleaf.extras:thymeleaf-extras-springsecurity3:2.1.2.RELEASE'
    compile group: 'org.thymeleaf', name: 'thymeleaf-spring5', version: '3.0.3.M1'

    // DB and ORM
    compile 'org.springframework.boot:spring-boot-starter-data-jpa:1.5.1.RELEASE'
    compile 'org.apache.derby:derby:10.13.1.1'

    // Form validation
    compile 'org.hibernate:hibernate-validator:5.2.2.Final'
    compile 'javax.el:el-api:2.2'

    // SNMP
    compile 'org.snmp4j:snmp4j:1.10.1'
    compile 'org.snmp4j:snmp4j-agent:1.2'

    testCompile('org.springframework.boot:spring-boot-starter-test')
 }

类:

代码语言:javascript
复制
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

.....

@SpringBootApplication
public class MyApplication {

    private static final Logger LOGGER = LoggerFactory.getLogger(MyApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(new Class<?>[] {MyApplication.class}, args);

.....

它以前是有效的。现在我在创建Logger的地方有了异常。我没有改变任何东西,只是再次尝试构建项目。可能Spring Boot的版本被改变了,我不知道。

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at by.virkom.MyApplication.<clinit>(MyApplication.java:18)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

我试图排除spring-boot-starter-logging并连接spring-boot-starter-log4j,但对我不起作用。然后使用Log4j进行ClassNotFoundException。我怎么才能修复它?

附言:当我评论创建记录器时,我有另一个例外:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
    at by.virkom.MyApplication.main(MyApplication.java:22)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
EN

回答 3

Stack Overflow用户

发布于 2017-06-01 04:08:36

将此代码添加到gradle文件中:

代码语言:javascript
复制
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.5'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.5'
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.5'
票数 0
EN

Stack Overflow用户

发布于 2017-06-01 06:11:21

您必须添加一个像 slf4j 这样的logback Logger实现

将以下内容添加到gradle构建中

compile 'ch.qos.logback:logback-classic:1.1.7'

票数 0
EN

Stack Overflow用户

发布于 2017-06-01 19:50:57

您有两个选择:

  1. 如果您的应用程序是add应用程序,则将spring-boot-starter-web添加为依赖项,并且将添加所有日志记录依赖项。
  2. 如果您的应用程序不是add应用程序,则将spring-boot-starter-logging添加为依赖项。

来源:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44290154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档