報錯信息:
2021-05-26 13:50:11,737 RMI TCP Connection(3)-127.0.0.1 ERROR DefaultRolloverStrategy contains an invalid element or attribute "maxDepth" 2021-05-26 13:50:11,745 RMI TCP Connection(3)-127.0.0.1 ERROR Unable to create file e:/log/dmscc/repair/repair.log java.io.IOException: 系統找不到指定的路徑。 at java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(File.java:1012) at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:525)
線索是log相關,找到了Log4J的XML配置文件:

配置描述:
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %5p [%C{1}:%L] - %m%n" /> </Console> <RollingFile name="RollingFile" fileName="${LOG_HOME.DIR}/repair/repair.log" filePattern="${LOG_HOME.DIR}/repair/repair-%d{yyyy-MM-dd}-%i.log.gz"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %5p [%C{1}:%L] - %m%n" /> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> <SizeBasedTriggeringPolicy size="50 MB" /> <CronTriggeringPolicy schedule="0 0 0 * * ?"/> </Policies> <DefaultRolloverStrategy maxDepth="100" max="200"> <Delete basePath="${LOG_HOME.DIR}/repair" maxDepth="2"> <IfFileName glob="repair-*.log.gz" /> <IfLastModified age="45d" /> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders> <Loggers> <Logger name="com.yonyou.dms" level="debug" additivity="false"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Logger> <Logger name="com.yonyou.gms" level="debug" additivity="false"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Logger> <Logger name="com.yonyou.dmsgms" level="debug" additivity="false"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Logger> <Root level="info"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Root> </Loggers> </Configuration>
和報錯信息對比發現是這一段配置描述:
<RollingFile name="RollingFile" fileName="${LOG_HOME.DIR}/repair/repair.log"
原因:
這個項目的路徑是默認找到E盤下面去輸出的,但是我沒有E盤啊

解決方案也就兩種:
一、我從已有的盤中開個新分區划分給E盤,這樣日志能找到盤符輸出了
二、我不想分盤,直接更改日志的輸出路徑,但是這個是動態指定的,於是我就寫死指定到某一個位置
所以還是改了日志配置:
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %5p [%C{1}:%L] - %m%n" /> </Console> <!-- <RollingFile name="RollingFile" fileName="${LOG_HOME.DIR}/repair/repair.log"--> <!--filePattern="${LOG_HOME.DIR}/repair/repair-%d{yyyy-MM-dd}-%i.log.gz">--> <RollingFile name="RollingFile" fileName="d:/log/dmscc/repair/repair.log" filePattern="d:/log/dmscc/repair/repair-%d{yyyy-MM-dd}-%i.log.gz"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %5p [%C{1}:%L] - %m%n" /> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> <SizeBasedTriggeringPolicy size="50 MB" /> <CronTriggeringPolicy schedule="0 0 0 * * ?"/> </Policies> <DefaultRolloverStrategy maxDepth="100" max="200"> <!--<Delete basePath="${LOG_HOME.DIR}/repair" maxDepth="2">--> <Delete basePath="d:/log/dmscc/repair" maxDepth="2"> <IfFileName glob="repair-*.log.gz" /> <IfLastModified age="45d" /> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders> <Loggers> <Logger name="com.yonyou.dms" level="debug" additivity="false"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Logger> <Logger name="com.yonyou.gms" level="debug" additivity="false"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Logger> <Logger name="com.yonyou.dmsgms" level="debug" additivity="false"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Logger> <Root level="info"> <!--<AppenderRef ref="Console" />--> <AppenderRef ref="RollingFile" /> </Root> </Loggers> </Configuration>
他寫了三個,我上面只更改了第一個路徑再跑項目就能起來
其他兩個的左右沒有搞懂是干嘛的,干脆也跟着改掉了
