wr456wr 2022-07-26 17:22 采纳率: 100%
浏览 48
已结题

在一个线程中使用logback占位符打印信息出现程序无故终止

大致问题描述: 在一个线程中使用logback占位符打印信息出现程序无故终止

具体问题描述:

在测试单元中,也就是一个测试方法,新建一个线程然后使用logback打印简单的输出语句正常,但是使用占位符会出现程序上的正常停止。,但是在main方法内没有任何问题

测试的代码:

package test;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

import java.util.concurrent.locks.LockSupport;

import static java.lang.Thread.sleep;

@Slf4j(topic = "Test1.class")
public class Test1 {

    @Test
    public void test1() {
        log.info("start test1");
        Thread t1 = new Thread(() -> {
            log.info("parking");
            log.info("unpark");
            log.info("------------");
            log.info("inturper status {}", "[hei]");
            log.info("------------");
            log.info("dadadadada");
        }, "t1");
        t1.start();
    }
    
    public static void main(String[] args) throws InterruptedException {
                log.info("start test1");
        Thread t1 = new Thread(() -> {
            log.info("parking");
            log.info("unpark");
            log.info("------------");
            log.info("inturper status {}", "[hei]");
            log.info("------------");
            log.info("dadadadada");
        }, "t1");
        t1.start();
    }
}

测试结果

在test1方法的运行结果:

img

mian方法内的运行结果:

img

  • 写回答

2条回答 默认 最新

  • 叫兽-郭老师 Java领域新星创作者 2022-07-26 17:56
    关注

    你可以看看这个https://blog.csdn.net/forthefuture_/article/details/108346216
    单元测试好像测试多线程好像就是有点问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 创建了问题 7月26日