1.33 日志通用查询

This commit is contained in:
dengqichen 2025-12-16 16:35:19 +08:00
parent beb2cd6544
commit af53992713

View File

@ -0,0 +1,60 @@
package com.qqchen.deploy.backend.framework.websocket.log;
import com.qqchen.deploy.backend.deploy.enums.RuntimeTypeEnum;
import org.springframework.web.socket.WebSocketSession;
import java.util.concurrent.atomic.AtomicBoolean;
/**
* 日志流策略接口
* 定义不同运行时类型的日志流获取方式
*
* @author Framework
* @since 2025-12-16
*/
public interface ILogStreamStrategy {
/**
* 支持的运行时类型
*
* @return 运行时类型
*/
RuntimeTypeEnum supportedType();
/**
* 执行日志流推送
* 此方法应该持续读取日志并通过callback推送到前端
*
* @param session WebSocket会话
* @param target 日志流目标信息
* @param paused 暂停标志实现应定期检查此标志
* @param callback 日志行回调接口
* @throws Exception 流式推送失败时抛出
*/
void streamLogs(WebSocketSession session,
LogStreamTarget target,
AtomicBoolean paused,
LogLineCallback callback) throws Exception;
/**
* 停止日志流并清理资源
* 当WebSocket连接关闭时调用确保SSH连接等资源被正确释放
*
* @param sessionId WebSocket会话ID
*/
void stop(String sessionId);
/**
* 日志行回调接口
*/
@FunctionalInterface
interface LogLineCallback {
/**
* 发送日志行
*
* @param timestamp 时间戳
* @param content 日志内容
*/
void sendLogLine(String timestamp, String content);
}
}