如何以日志格式获取我的应用程序 运行 所在的端口号?

How can i get port number on which my application is running in logging format?

如何获取日志信息下的主机名或post号码?这没有用:

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} %d{localhost}  ---- %msg%n
  1. 您需要使用您的 spring 启动主 class。
  2. 实施 ApplicationListener<EmbeddedServletContainerInitializedEvent>
  3. 嵌入式 servlet 容器将为您提供您的应用程序初始化的确切端口号。
  4. 可以使用 innet 地址获取主机 Address/Name。
  5. 将System.out.println替换为logger.info()

供您参考:

@SpringBootApplication
@EnableSwagger2
public class SpringBootAppMain implements ApplicationListener<EmbeddedServletContainerInitializedEvent> {
    @Autowired
    Environment environment;
    public static void main(String[] args) {
        SpringApplication.run(SpringBootAppMain.class, args);
    }

    @Override
    public void onApplicationEvent(EmbeddedServletContainerInitializedEvent embeddedServletContainerInitializedEvent) {
        System.out.println("Port " + embeddedServletContainerInitializedEvent.getApplicationContext().getEmbeddedServletContainer().getPort());
        try {
            System.out.println("HOST Address " + InetAddress.getLocalHost().getHostAddress());
            System.out.println("Host Name " + InetAddress.getLocalHost().getHostName());
        } catch (UnknownHostException e) {

        }
    }
}