File tree Expand file tree Collapse file tree
java/com/josephhieu/feedbackonline/entity Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,9 +2,9 @@ name: Feedback Online System CI
22
33on :
44 push :
5- branches : ["main"]
5+ branches : ["main", "develop" ]
66 pull_request :
7- branches : ["main"]
7+ branches : ["main", "develop" ]
88
99jobs :
1010 # 1. JOB CHO BACKEND
Original file line number Diff line number Diff line change 1+ version : ' 3.8'
2+
3+ services :
4+ backend-service :
5+ build : .
6+ container_name : feedback-backend
7+ ports :
8+ - " 8080:8080"
9+ environment :
10+ - SPRING_PROFILES_ACTIVE=prod
11+ - SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL}
12+ - SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME}
13+ - SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD}
14+ - JWT_SECRET_KEY=${JWT_SECRET_KEY}
15+ - LOGSTASH_HOST=logstash
16+ depends_on :
17+ - logstash
18+
19+ # Logstash nhận log từ Spring Boot
20+ logstash :
21+ image : docker.elastic.co/logstash/logstash:8.12.0
22+ container_name : feedback-logstash
23+ volumes :
24+ - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf:ro
25+ ports :
26+ - " 5000:5000"
27+ depends_on :
28+ - elasticsearch
29+
30+ # Elasticsearch lưu trữ log
31+ elasticsearch :
32+ image : docker.elastic.co/elasticsearch/elasticsearch:8.12.0
33+ container_name : feedback-elasticsearch
34+ environment :
35+ - discovery.type=single-node
36+ - xpack.security.enabled=false
37+ - " ES_JAVA_OPTS=-Xms512m -Xmx512m"
38+ ports :
39+ - " 9200:9200"
40+
41+ # Kibana giao diện xem log
42+ kibana :
43+ image : docker.elastic.co/kibana/kibana:8.12.0
44+ container_name : feedback-kibana
45+ ports :
46+ - " 5601:5601"
47+ environment :
48+ - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
49+ depends_on :
50+ - elasticsearch
Original file line number Diff line number Diff line change 1+ input {
2+ tcp {
3+ port => 5000
4+ codec => json_lines
5+ }
6+ }
7+
8+ output {
9+ elasticsearch {
10+ hosts => ["http://elasticsearch:9200"]
11+ index => "feedback-online-logs-%{+YYYY.MM.dd}"
12+ }
13+ }
Original file line number Diff line number Diff line change 22
33import jakarta .persistence .*;
44import lombok .*;
5+ import org .hibernate .annotations .JdbcTypeCode ;
6+ import org .hibernate .type .SqlTypes ;
7+
58import java .util .UUID ;
69
710@ Entity
@@ -19,7 +22,8 @@ public class CauHoi extends BaseEntity {
1922 @ JoinColumn (name = "MaTemplate" )
2023 private Template template ;
2124
22- @ Column (name = "TenCauHoi" , nullable = false , columnDefinition = "TEXT" )
25+ @ Column (name = "TenCauHoi" , nullable = false )
26+ @ JdbcTypeCode (SqlTypes .LONGVARCHAR )
2327 private String tenCauHoi ;
2428
2529 @ Column (name = "DiemToiThieu" )
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <configuration >
3+ <include resource =" org/springframework/boot/logging/logback/defaults.xml" />
4+
5+ <!-- Appender 1: In log ra Console -->
6+ <appender name =" CONSOLE" class =" ch.qos.logback.core.ConsoleAppender" >
7+ <encoder >
8+ <pattern >%d{yyyy-MM-dd HH:mm:ss} [%X{traceId}] %-5level %logger{36} - %msg%n</pattern >
9+ </encoder >
10+ </appender >
11+
12+ <!-- Appender 2: Gửi Log dạng JSON tới Logstash qua TCP -->
13+ <appender name =" LOGSTASH" class =" net.logstash.logback.appender.LogstashTcpSocketAppender" >
14+ <destination >${LOGSTASH_HOST:-localhost}:${LOGSTASH_PORT:-5000}</destination >
15+ <encoder class =" net.logstash.logback.encoder.LogstashEncoder" >
16+ <customFields >{"app_name":"feedback-online"}</customFields >
17+ </encoder >
18+ </appender >
19+
20+ <root level =" INFO" >
21+ <appender-ref ref =" CONSOLE" />
22+ <appender-ref ref =" LOGSTASH" />
23+ </root >
24+ </configuration >
You can’t perform that action at this time.
0 commit comments