parent
a6a12a3b04
commit
d82bf584bb
7
pom.xml
7
pom.xml
|
@ -316,6 +316,13 @@
|
|||
<version>3.1.8</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.logstash.logback</groupId>
|
||||
<artifactId>logstash-logback-encoder</artifactId>
|
||||
<version>6.6</version> <!-- 请使用最新版本 -->
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -210,3 +210,6 @@ logging:
|
|||
pattern:
|
||||
console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
|
||||
file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"
|
||||
logstash:
|
||||
host: localhost
|
||||
port: 5044
|
|
@ -38,6 +38,16 @@
|
|||
<appender-ref ref="FILE"/>
|
||||
</appender>
|
||||
|
||||
<!-- 从application.yml中读取配置 -->
|
||||
<springProperty scope="context" name="LOGSTASH_HOST" source="logging.logstash.host"/>
|
||||
<springProperty scope="context" name="LOGSTASH_PORT" source="logging.logstash.port"/>
|
||||
|
||||
<!-- Logstash TCP输出 -->
|
||||
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
|
||||
<destination>${LOGSTASH_HOST}:${LOGSTASH_PORT}</destination> <!-- Logstash 地址和端口 -->
|
||||
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
|
||||
</appender>
|
||||
|
||||
<!-- 开发环境 -->
|
||||
<springProfile name="dev">
|
||||
<root level="INFO">
|
||||
|
@ -47,6 +57,8 @@
|
|||
<appender-ref ref="ASYNC_FILE"/>
|
||||
</then>
|
||||
</if>
|
||||
<!-- 开发环境启用 Logstash -->
|
||||
<appender-ref ref="LOGSTASH"/>
|
||||
</root>
|
||||
<logger name="com.guwan.backend" level="DEBUG"/>
|
||||
</springProfile>
|
||||
|
@ -59,6 +71,8 @@
|
|||
<appender-ref ref="ASYNC_FILE"/>
|
||||
</then>
|
||||
</if>
|
||||
<!-- 生产环境启用 Logstash -->
|
||||
<appender-ref ref="LOGSTASH"/>
|
||||
</root>
|
||||
<logger name="com.guwan.backend" level="INFO"/>
|
||||
</springProfile>
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package com.guwan.backend;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
public class LogstashLoggerHTTP {
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
// 设置 Logstash HTTP 监听地址和端口
|
||||
URL url = new URL("http://localhost:5044"); // Logstash HTTP 输入插件地址
|
||||
|
||||
// 打开 HTTP 连接
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("POST");
|
||||
connection.setRequestProperty("Content-Type", "application/json");
|
||||
connection.setDoOutput(true);
|
||||
|
||||
// 创建 JSON 格式的日志消息
|
||||
String jsonLog = "{\"title\":\"测试1\",\"content\":[\"孙二娘\",\"张超\",\"李国英\"]}";
|
||||
|
||||
// 发送日志数据
|
||||
try (OutputStream os = connection.getOutputStream()) {
|
||||
byte[] input = jsonLog.getBytes("utf-8");
|
||||
os.write(input, 0, input.length);
|
||||
}
|
||||
|
||||
// 获取响应
|
||||
int responseCode = connection.getResponseCode();
|
||||
System.out.println("HTTP Response Code: " + responseCode);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package com.guwan.backend;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.net.Socket;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class LogstashLoggerTCP {
|
||||
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
// 设置 Logstash TCP 监听地址和端口
|
||||
String logstashHost = "localhost";
|
||||
int logstashPort = 5044; // Logstash TCP 输入插件的端口
|
||||
|
||||
// 创建 Socket 连接
|
||||
try (Socket socket = new Socket(logstashHost, logstashPort);
|
||||
OutputStream os = socket.getOutputStream()) {
|
||||
|
||||
// 创建 JSON 格式的日志消息
|
||||
String jsonLog = "{\"title\":\"测试1\",\"content\":[\"孙二娘\",\"张超\",\"李国英\"]}";
|
||||
|
||||
// 发送日志数据
|
||||
os.write(jsonLog.getBytes(StandardCharsets.UTF_8));
|
||||
os.flush();
|
||||
|
||||
System.out.println("Log sent successfully to Logstash");
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Error sending log to Logstash: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue