java - 仅具有主类的简单应用程序看不到 logback.xml

标签 java logging logback log-level

我的项目结构:

enter image description here

正如你所看到的,我试图将 logback.xml 放在任何地方。

我想为根记录器设置信息日志级别。

logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
            </Pattern>
        </layout>
    </appender>

    <!-- Send logs to both console and file audit -->
    <logger name="kafka_test" level="info">
        <appender-ref ref="STDOUT" />
    </logger>


</configuration>

我有以下代码:

public class Consumer {
    private static final String name = "consumer_1";

    private static Logger logger = LoggerFactory.getLogger(Consumer.class);

    public static void main(String[] args) throws InterruptedException {
        logger.debug("Consumer {} started", name);
        ...

它打印

17:51:45.096 [main] DEBUG kafka_test.Consumer - Consumer consumer_1 started

进入控制台。

我做错了什么?

附注

我尝试打印:

    System.out.println(Consumer.class.getClassLoader().getResource("kafka_test/Consumer.class"));

它打印:

file:/D:/work/kafka_samples/out/production/classes/kafka_test/Consumer.class

我将logback.xml放入

D:\work\kafka_samples\out\production\classes\kafka_test

但是还是不行

解决方案:

我已将 logback.xml 放入

D:\work\kafka_samples\out\production\classes

最佳答案

您需要将其放在类路径的顶层。 maven/gradle 项目的标准位置位于 src/main/resources 中。 Gradle/maven 将在您的类路径中包含该资源目录(大多数 IDE 也会理解这一点)。

关于java - 仅具有主类的简单应用程序看不到 logback.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46649520/

相关文章:

java - 将数据从 java 程序存储到 MySQL 的最简单方法是什么?

powershell - 将日志记录快速添加到现有的 powershell 脚本集

spring-boot - 初始化 logback 之前的 spring JNDI 日志记录

java - 如何沙箱 SLF4J

java - 将 logback.xml 放在 Tomcat 的什么位置?

java - 什么是 Java 静态的 Smalltalk 等价物?

java - 在 java 中用于 jsp web 应用程序的文件路径的完整路径声明

java - 使 switch 语句在条件语句是用户输入的字符串且每种情况不区分大小写的情况下工作

java - logback 以编程方式创建一个新的日志实例

java - 如何在 Spring 中拦截 RequestRejectedException?