1. 最终解决办法
将logback.xml直接放在src目录下
磊哥放置的位置:
.../src/xml/logback.xml
实际应该放置的位置:
.../src/logback.xml
成功生成.log文件!
具体问题和分析见后续内容。
2. 分析
2.1 Bug: 无法输出日志
根据黑马Java P173里的内容,磊哥将logback.xml文件放在src/xml目录下。运行代码后,发现.log文件不存在,但是控制台有输出,说明执行过程没有问题,问应该出在LogBack上。
2.2 分析问题
我考虑了两种可能性:
- 我下载的jar包的版本与logback.xml文件格式需要的版本不一致
- logback没有配置好
可能性1:因为logback.xml文件中,没有声明版本信息,且配置信息都是很基本的内容,暂时排除这个原因。
可能性2:由于jar包都是官网下载的,出问题可能性不大;但是logback.xml文件是自己写的(copy来的),很可能这中间出了问题。结果还真是这个原因!!
2.3 问题来源
根据黑马Java P174的内容,发现在修改logback.xml中关于日志输出的配置信息后,控制台的输出没有变化,推断是logback.xml文件没有生效。
<!--
1、控制日志的输出情况:如,开启日志,取消日志
-->
<root level="debug">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE" />
</root>
修改输出日志等级,将"debug"改位"info",或者去掉在控制台输出这个选项时,控制台输出的内容没有变化,推断是我们的java代码没有和logback.xml联系起来,尝试将logback.xml直接放到src的目录下(不是子目录下),就解决了这个问题。
至于磊哥将logback.xml文件放在src/xml文件夹下,还能生效,我就不知道为什么了,请大家指教!