【MyBatis篇】日志配置文件在src/main/resources 目录下,在src/main/java中书写的代码运行时不出现日志信息,但是 在src/test包下运行代码会出现日志信息

遇见的问题:

日志配置文件在src/main/resources 目录下,在src/main/java中书写的代码运行时不出现日志信息,但是 在src/test包下运行mybaties代码会出现日志信息

 可能的原因:

如果在 src/main/java 中运行的代码没有出现日志信息,但在 src/test 包下运行的 MyBatis 代码出现了日志信息,原因可能是代码的类路径设置不正确,导致无法找到日志配置文件。

在不同的构建工具或IDE中,会有不同的类路径设置,可能会导致代码在运行时找不到正确的资源文件。要解决这个问题,可以尝试以下步骤:

  1. 确保日志配置文件(如 logback.xml 或 log4j.xml)已正确放置在 src/main/resources 目录下。

  2. 检查构建工具或IDE的配置,确认类路径正确设置。例如,在使用 IntelliJ IDEA 进行开发时,需要确保 src/main/java 和 src/main/resources 目录都被正确标记为源代码目录。

  3. 重新构建和运行代码,以确保代码和资源文件的更新已生效。

  4. 在运行代码时,检查控制台输出或日志输出路径,确保日志文件的路径和名称与代码中的配置一致。有时,日志配置可能指定了自定义的输出文件路径,而不是默认的控制台输出。

如果以上步骤没有解决问题,可以尝试通过代码调试来找到问题所在。例如,在代码中添加一些调试输出,检查类路径、资源文件路径、日志配置等信息。也可以尝试在代码中手动加载并初始化日志配置,确保代码能够正确访问到日志配置文件。

请注意,还有其他可能的原因导致日志信息未显示在控制台。例如,日志级别设置不正确或使用了不同的日志框架进行日志输出。因此,还需仔细检查代码和日志配置文件,确保其设置正确,并与代码相匹配。

我的问题所在:

我反反复复查看自己的代码,确实没有问题,搞了一下午,也没有搞出来,最后在第二天的课堂上听老师无意间说了下pom.xml文件中的坐标的时候提了一个scope标签,问题迎刃而解;

<groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.11</version>
            <scope>test</scope>

 这两个配置信息可大有不同。

扫描二维码关注公众号,回复: 16987850 查看本文章
<groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.11</version>
           

因为我自己也是自学mybatis,依赖信息都是从网上复制粘贴的,也没有注意它是什么意思,反正平常操作没问题,但关键时候就会有点毛病;

<scope>标签,规定和限制依赖起作用的范围,以下是他的一些常用属性;

scope的分类
1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去

2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit

3.runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段

4.provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作

5.system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径


自学的时候,有时候突然就会被突如其来的问题弄到手忙脚乱的,当时解决抠破头皮都解决不了,但是你放一段时间问题反倒迎刃而解了,所以遇见问题不要着急,放一段时间,让自己休息休息,说不定问题会自己解决; 

猜你喜欢

转载自blog.csdn.net/m0_64231944/article/details/132844549