lombok log.info 不打印 log.error 打印
时间: 2024-04-03 15:24:01 浏览: 112
这可能是因为你的日志级别设置不正确。Lombok默认使用SLF4J作为日志框架,而SLF4J有不同的日志级别,例如DEBUG、INFO、WARN和ERROR等。log.info()方法输出的是INFO级别的日志,而log.error()方法输出的是ERROR级别的日志。如果你的日志级别设置为INFO或者更高级别,那么log.info()会被打印,而log.error()不会被打印。你可以尝试将日志级别设置为DEBUG或者更低级别,这样log.error()就会被打印出来。你也可以检查一下你的日志配置文件,看看是否设置了正确的日志级别。
相关问题
lombok log.error 打印但是 log.info 不打印
这种情况可能是因为你的日志级别设置为了仅输出 error 级别的日志,而 info 级别的日志被忽略了。你可以检查一下你的日志配置文件或者代码中的日志级别设置。
如果你使用的是 log4j,可以在配置文件中设置 `<root>` 标签下的 `level` 属性为 `INFO`,这样就会输出 info 级别的日志了。如果你使用的是其他日志框架,也可以类似地进行配置。另外,你也可以在代码中使用 `logger.setLevel(Level.INFO)` 这样的语句来设置日志级别。
如果确认日志级别已经正确设置,但仍然无法输出 info 级别的日志,可能是因为代码中使用了不同的 Logger 实例,或者在不同的类中使用了不同的日志级别设置。你可以检查一下代码中的 Logger 实例和日志级别设置是否一致。
package com.zte.ums.cnms.pm.datfileupload.ranomm.clean; import com.zte.ums.cnms.pm.datfileupload.ranomm.util.Utils; import lombok.extern.slf4j.Slf4j; import javax.inject.Inject; import java.util.HashMap; import java.util.Map; import java.util.List; import java.nio.file.Paths; @Slf4j public class FileCleanRunnable implements Runnable{ // @Inject // private FileCleanTask fileCleanTask; // @Inject // private CleanTaskPollService cleanTaskPollService; private FileCleanParaQueryService fileCleanParaQueryService=new FileCleanParaQueryService(); // private FileCleanTaskResponse fileCleanTaskResponse; private Map<String, Integer> cleanPathRetainMap=new HashMap<>(); private String dir; public FileCleanRunnable(String dir){ this.dir = dir; } @Override public void run() { //do cleaning // neIdDirs=fileCleanTask.getCleanDirs(); // log.info("prepared Clean Dir:"+dir); try { cleanDir(); } catch (Exception e) { log.error("File clean me dir: failed",e); } } private void cleanDir() { long startTimeMills = System.currentTimeMillis(); String tmpPath; log.info("fileCleanParaQueryService:"+fileCleanParaQueryService); Map<String, Integer> pmParas= fileCleanParaQueryService.getCleanParas(); cleanPathRetainMap.put(CleanUtil.FTP, pmParas.get(FileCleanParaQueryService.LOCAL_FTP)); cleanPathRetainMap.put(CleanUtil.BAK, pmParas.get(FileCleanParaQueryService.LOCAL_BAK)); cleanPathRetainMap.put(CleanUtil.PARSE_ERR, pmParas.get(FileCleanParaQueryService.LOCAL_PARSE_ERR)); log.info("File clean thread start, clean dir : {} ", dir); // for (String neIdDir : dir) { for (Map.Entry<String, Integer> entry : cleanPathRetainMap.entrySet()) { tmpPath = Paths.get(dir, entry.getKey()).toString(); log.info("tmpPath:"+tmpPath); Utils.deleleFilesOfDir(tmpPath, entry.getValue()); } // } log.info("File clean thread finish,dir size: {},cost: {} ms", dir, (System.currentTimeMillis() - startTimeMills)); } }写单元测试,框架为junit3
好的,以下是一个可能的JUnit3测试类的示例,用于测试上述代码中的FileCleanRunnable类:
```
import junit.framework.TestCase;
public class FileCleanRunnableTest extends TestCase {
private FileCleanRunnable fileCleanRunnable;
private String dir = "C:/clean";
public void setUp() {
fileCleanRunnable = new FileCleanRunnable(dir);
}
public void testCleanDir() {
fileCleanRunnable.run();
// 在这里编写断言,验证代码的正确性
// ...
}
}
```
在上面的示例代码中,我们首先创建了一个FileCleanRunnable类的实例fileCleanRunnable,并将需要清理的目录传递给它。然后在setUp方法中初始化该实例。
在testCleanDir方法中,我们调用了fileCleanRunnable的run方法,这样就可以执行清理逻辑。然后,在这个方法中,我们需要编写断言来验证代码的正确性。具体的断言逻辑取决于您的代码实现和测试需求。
希望这可以帮助您编写单元测试。
阅读全文