You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot启动时如何用Log4j记录嵌入式服务器端口?

当然可以实现!

Spring Boot本身就会在启动时输出嵌入式服务器的端口日志,对应的日志类别会根据你使用的服务器类型略有区别,下面分场景给你说明:

1. Tomcat 服务器

对应的日志类别是 org.springframework.boot.web.embedded.tomcat.TomcatWebServer,它会输出类似这样的日志:

Tomcat started on port 8080 (http) with context path ''

2. Jetty 服务器

对应的日志类别是 org.springframework.boot.web.embedded.jetty.JettyWebServer,输出内容示例:

Jetty started on port 8080 (http/1.1) with context path ''

3. Undertow 服务器

对应的日志类别是 org.springframework.boot.web.embedded.undertow.UndertowWebServer,输出内容示例:

Undertow started on port 8080 (http) with context path ''

配置Log4j确保这些日志输出

默认情况下Spring Boot的日志配置已经会输出这些信息,但如果你自定义了Log4j配置,可能需要手动指定这些Logger的级别,确保日志能正常打印。下面给你两种常见配置文件的示例:

Log4j2 XML 配置示例

<Loggers>
    <!-- 配置Tomcat服务器日志输出 -->
    <Logger name="org.springframework.boot.web.embedded.tomcat.TomcatWebServer" level="INFO" additivity="false">
        <AppenderRef ref="Console"/>
        <!-- 如果需要输出到文件,添加你的文件Appender -->
        <AppenderRef ref="FileAppender"/>
    </Logger>
    
    <!-- 若使用Jetty,替换成下面的配置 -->
    <!-- <Logger name="org.springframework.boot.web.embedded.jetty.JettyWebServer" level="INFO" additivity="false">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="FileAppender"/>
    </Logger> -->
    
    <!-- 若使用Undertow,替换成下面的配置 -->
    <!-- <Logger name="org.springframework.boot.web.embedded.undertow.UndertowWebServer" level="INFO" additivity="false">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="FileAppender"/>
    </Logger> -->
    
    <Root level="INFO">
        <AppenderRef ref="Console"/>
    </Root>
</Loggers>

Log4j Properties 配置示例

# Tomcat服务器日志配置
log4j.logger.org.springframework.boot.web.embedded.tomcat.TomcatWebServer=INFO, Console, FileAppender
log4j.additivity.org.springframework.boot.web.embedded.tomcat.TomcatWebServer=false

# Jetty服务器日志配置(替换上面的Tomcat配置即可)
# log4j.logger.org.springframework.boot.web.embedded.jetty.JettyWebServer=INFO, Console, FileAppender
# log4j.additivity.org.springframework.boot.web.embedded.jetty.JettyWebServer=false

# Undertow服务器日志配置(替换上面的Tomcat配置即可)
# log4j.logger.org.springframework.boot.web.embedded.undertow.UndertowWebServer=INFO, Console, FileAppender
# log4j.additivity.org.springframework.boot.web.embedded.undertow.UndertowWebServer=false

# 根日志级别配置
log4j.rootLogger=INFO, Console

小提示

这些日志的默认级别是INFO,所以只要你的根日志级别或者对应Logger的级别不高于INFO(比如设为DEBUG也没问题),就能正常输出。如果是多环境项目,还可以根据开发/生产环境调整日志级别,灵活度很高。

内容的提问来源于stack exchange,提问作者user2599052

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:40:15