【微服务】SpringBoot log4j日志到服务器无法输出到日志文件

SpringBoot微服务启动后,在控制台可以正常输出,但是将服务发布到linux服务器上以后,只看到启动的内容,后续的日志看不到。原因是什么呢?

1. 启动账号不对

项目用root启动后,用admin启动后无法正常输出到日志中

2.日志jar包冲突导致的:

原本的内容:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-log4j2</artifactId>
	<exclusions>
		<exclusion>
			<artifactId>log4j-slf4j-impl</artifactId>
			<groupId>org.apache.logging.log4j</groupId>
		</exclusion>
	</exclusions>
</dependency>

调整后:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

另外,要排除掉springboot框架默认的logback方式,否则log4j和logback会引起jar包冲突。

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<version>2.2.0.RELEASE</version>
	<exclusions>
		<exclusion>
			<artifactId>logback-classic</artifactId>
			<groupId>ch.qos.logback</groupId>
		</exclusion>
		<exclusion>
			<artifactId>spring-boot-starter-logging</artifactId>
			<groupId>org.springframework.boot</groupId>
		</exclusion>
	</exclusions>
</dependency>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中使用WebSocket实现微服务的方式如下: 1. 引入相关依赖 在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> ``` 2. 创建WebSocket配置类 创建一个WebSocket配置类,用于配置WebSocket相关的参数,如下所示: ```java @Configuration @EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(new WebSocketHandler(), "/ws").setAllowedOrigins("*"); } } ``` 其中,`WebSocketHandler`是自定义的WebSocket处理器类,`/ws`是WebSocket的请求路径,`setAllowedOrigins("*")`表示接受所有来源的WebSocket请求。 3. 创建WebSocket处理器类 创建一个WebSocket处理器类,实现`WebSocketHandler`接口,处理WebSocket相关的业务逻辑,如下所示: ```java public class WebSocketHandler implements org.springframework.web.socket.WebSocketHandler { private final List<WebSocketSession> sessions = new ArrayList<>(); @Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { sessions.add(session); } @Override public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { for (WebSocketSession s : sessions) { s.sendMessage(message); } } @Override public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception { sessions.remove(session); } @Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { sessions.remove(session); } @Override public boolean supportsPartialMessages() { return false; } } ``` 在这个示例中,我们简单地将所有接收到的消息转发给所有连接的WebSocket客户端。 4. 创建WebSocket客户端 创建一个WebSocket客户端,连接到WebSocket服务器,发送和接收WebSocket消息,如下所示: ```javascript var socket = new WebSocket("ws://localhost:8080/ws"); socket.onmessage = function(event) { console.log("Received message: " + event.data); }; socket.onclose = function(event) { console.log("WebSocket closed: " + event.code + ", " + event.reason); }; socket.onerror = function(event) { console.log("WebSocket error: " + event); }; function sendMessage() { var message = document.getElementById("messageInput").value; socket.send(message); } ``` 在这个示例中,我们通过JavaScript创建了一个WebSocket客户端,连接到`ws://localhost:8080/ws`路径,接收来自WebSocket服务器的消息,当WebSocket关闭或发生错误时,输出日志信息。我们还定义了一个`sendMessage`函数,用于向WebSocket服务器发送消息。 以上就是在Spring Boot中使用WebSocket实现微服务的基本步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值