欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Caused by: java.net.UnknownHostException: www.w3.org错误

程序员文章站 2022-04-15 14:05:39
...

Springboot项目中添加了日志文件logback-spring.xml,电脑不联网状态启动项目会报错,并且没有任何日志。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd">
<configuration>
    <property resource="application.properties"/>
    <springProperty scope="context" name="log-dir" source="logback.loghome"/>
    <springProperty scope="context" name="log-name" source="logback.logfile"/>
    <property name="CONSOLE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L- %msg%n"/>  
    <!-- 控制台 -->
    <appender name="consoleAppender"
        class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 日志格式 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <!-- 日志编码 -->
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
    </appender>
 
    <!-- 日志文件 -->
    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 日志输出位置 -->
        <file>${log-dir}/${log-name}.log</file>
        <!-- 滚动策略 策略会将过时的日志,另存到指定的文件中(无该文件则创建) -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 文件的全路径名模板把因为 过时 或 过大  而拆分后的文件也保存到目启动的目录下的log文件夹下  -->
            <fileNamePattern>${log-dir}/${log-name}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 保存7天以内的日志文件-->
            <MaxHistory>7</MaxHistory>
            <!-- 滚动策略 里嵌套了一个SizeAndTimeBasedFNATP策略,在每天都会拆分日志的前提下,当天日志大于规定大小也进行拆分并以【%i】进行区分从0开始 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>3MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <!-- 日志输出格式 -->
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <!-- 日志编码 -->
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
    </appender>

    <!--指定日志级别,日志级别有: trace|debug|info|warn|error|fatal-->
    <root level="info">
        <appender-ref ref="consoleAppender" />
        <appender-ref ref="fileAppender" />
    </root>
</configuration>

在主启动类上添加try-catch

@SpringBootApplication
@EnableScheduling
public class Application {

	public static void main(String[] args) {
		try {
			SpringApplication.run(Application.class, args);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

打印错误

Caused by: java.net.UnknownHostException: www.w3.org

未联网状态下logback初始化出错,联网以后就没有问题了。或者去掉校验的那段代码,这样离线状态也可以运行

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd">

 

相关标签: 异常解决方案