2021-12-31:

项目在Windows系统上可以正常运行,然而移到Mac系统上运行出现一下报错!!

据报错信息显示,初始化“logback-spring.xml”失败,监测到“Logback”配置出错,非法的声明异常,

创建“[/apps/logs/sns_error.log]”的父目录失败…

主要原因是初始化配置文件失败,然后出现了一下的报错.

首先来看一下配置文件中定义的日志文件输入位置,如下图所示.

Logging system failed to initialize using configuration from ‘classpathlogbacklogback-spring.xml‘

具体报错信息如下所示:

Logging system failed to initialize using configuration from ‘classpath:logback/logback-spring.xml’
java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[ERROR] - Failed to create parent directories for [/apps/logs/sns_error.log]
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[ERROR] - openFile(/apps/logs/sns_error.log,true) call failed. java.io.FileNotFoundException: /apps/logs/sns_error.log (No such file or directory)
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[WARN] - Failed to create parent directories for [/apps/logs/sns_warn.log]
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[WARN] - openFile(/apps/logs/sns_warn.log,true) call failed. java.io.FileNotFoundException: /apps/logs/sns_warn.log (No such file or directory)
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[INFO] - Failed to create parent directories for [/apps/logs/sns_info.log]
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[INFO] - openFile(/apps/logs/sns_info.log,true) call failed. java.io.FileNotFoundException: /apps/logs/sns_info.log (No such file or directory)
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[DEBUG] - Failed to create parent directories for [/apps/logs/sns_debug.log]
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[DEBUG] - openFile(/apps/logs/sns_debug.log,true) call failed. java.io.FileNotFoundException: /apps/logs/sns_debug.log (No such file or directory)
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[TRACE] - Failed to create parent directories for [/apps/logs/sns_trace.log]
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[TRACE] - openFile(/apps/logs/sns_trace.log,true) call failed. java.io.FileNotFoundException: /apps/logs/sns_trace.log (No such file or directory)

接着上文来继续讲.

应为刚使用Mac对它的特性并不是很了解,不知道这是不是因为电脑环境的不同导致的(在Mac上创建不了这个目录)

我先将所遇到的问题记录下来,找到解决办法会继续补充,也希望遇到这样问题的网友给出一下解决方法,供大家参考.

Logging system failed to initialize using configuration from ‘classpathlogbacklogback-spring.xml‘

后续:2021-12-31下午

背景说明:在Windows系统上我的项目放在D:盘的一个文件夹中,然后今天在D:盘找到了“/apps/logs”目录,正如下图配置中的路径一样。

Logging system failed to initialize using configuration from ‘classpathlogbacklogback-spring.xml‘

Logging system failed to initialize using configuration from ‘classpathlogbacklogback-spring.xml‘

当我将配置文件的输入位置改为“/apps/logs/sns”时,D:盘出现了“sns”的文件夹。

如下图所示:

Logging system failed to initialize using configuration from ‘classpathlogbacklogback-spring.xml‘

由此说明这个配置中的值为“相对路径”时,它会创建在项目所在磁盘的根目录下(例如:如果项目在D:盘,则该路径为“D:+相对路径”)。

后续:2021-12-31

打开文件夹发现,创建了如下log,然后又看看报错信息,可以完全说明出错的原因就是:创建不了文件夹路径,然后创建不了log文件,log文件打开失败。

然后报了一下错误!!

创建的log文件如下图所示:

Logging system failed to initialize using configuration from ‘classpathlogbacklogback-spring.xml‘

报错信息如下图所示:Logging system failed to initialize using configuration from ‘classpathlogbacklogback-spring.xml‘

解决办法,肯定要从Mac上为什么没有创建出文件路径来着手解决。

Mac上没有磁盘分区的概念,难道是因为这样的原因,创建不了路径吗。

同样作为菜鸟,我只能一步一步的摸索来解决问题,这样也能更深入的理解问题。也希望有大佬能指点指点。

终于找到解决方案了!!!

很戏剧的是,在Mac上当我把“/apps/logs/sns”最前面的反斜杠去掉时,改为“apps/logs/sns”,就运行成功了!!

这样的话它会将这个路径写在项目的目录下。

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

发表回复