Skip to content

Commit 624b175

Browse files
committed
ELK for User Service
1 parent e66e99d commit 624b175

File tree

4 files changed

+44
-0
lines changed

4 files changed

+44
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ build/
3131

3232
### VS Code ###
3333
.vscode/
34+
#logback-*.xml

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@
116116
</dependency>
117117

118118

119+
<dependency>
120+
<groupId>net.logstash.logback</groupId>
121+
<artifactId>logstash-logback-encoder</artifactId>
122+
<version>7.0.1</version>
123+
</dependency>
119124

120125

121126

src/main/java/com/programming/userService/controller/UserController.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import java.nio.file.Files;
2323
import java.nio.file.Path;
2424
import java.nio.file.Paths;
25+
26+
import org.slf4j.MDC;
2527
import org.springframework.beans.factory.annotation.Autowired;
2628
import org.springframework.cache.annotation.Cacheable;
2729
import org.springframework.mail.MailException;
@@ -36,6 +38,9 @@
3638
import com.programming.userService.entity.AuthUser;
3739
import org.springframework.data.redis.core.RedisTemplate;
3840

41+
import org.slf4j.Logger;
42+
import org.slf4j.LoggerFactory;
43+
3944
@RestController
4045
@AllArgsConstructor
4146
@RequestMapping("/user")
@@ -45,6 +50,8 @@ public class UserController {
4550
private final PasswordEncoder passwordEncoder;
4651
private final RedisTemplate<String, Object> redisTemplate;
4752
private static final String USER_CACHE = "USER_CACHE";
53+
54+
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
4855
@Autowired
4956
private JwtUtil jwtUtil;
5057

@@ -60,6 +67,9 @@ public String getEmail() {
6067
}
6168
@GetMapping("/")
6269
public String getServiceName(){
70+
//ELK
71+
MDC.put("type", "userservice");
72+
logger.info("User Service Start");
6373
return "User Service";
6474
}
6575

@@ -92,6 +102,11 @@ public ResponseEntity registerUser(@RequestBody AuthUser user) {
92102
user.setTimestamp(new Date());
93103
user.setAvatar(getDefaultAvatar());
94104
AuthUser save = userRepository.save(user);
105+
AuthUser userFromDb = userRepository.findByUsername(user.getUsername())
106+
.orElseThrow(() -> new Exception("User not found"));
107+
MDC.put("type", "userservice");
108+
MDC.put("action", "register");
109+
logger.info("UserID: " + userFromDb.getId());
95110
return ResponseEntity.ok(save);
96111
} catch (Exception e) {
97112
return ResponseEntity.internalServerError().body(e.getMessage());
@@ -132,6 +147,9 @@ public ResponseEntity loginUser2(@RequestBody AuthUser user) {
132147
AuthUser userFromDb = userRepository.findByUsername(user.getUsername())
133148
.orElseThrow(() -> new Exception("User not found"));
134149
if (passwordEncoder.matches(user.getPassword(), userFromDb.getPassword())) {
150+
MDC.put("type", "userservice");
151+
MDC.put("action", "login");
152+
logger.info("UserID: " + userFromDb.getId());
135153
return ResponseEntity.ok(userFromDb);
136154
} else {
137155
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Invalid credentials");
@@ -203,7 +221,12 @@ public ResponseEntity updateProfile(@PathVariable("id") String id, @RequestBody
203221
userFromDb.setFirstName(user.getFirstName());
204222
userFromDb.setLastName(user.getLastName());
205223
AuthUser save = userRepository.save(userFromDb);
224+
String tempUserId = userFromDb.getId();
206225

226+
MDC.put("type", "userservice");
227+
MDC.put("action", "update-profile");
228+
logger.info("UserID: " + userFromDb.getId());
229+
207230
return ResponseEntity.ok(HttpStatus.OK);
208231
} catch (Exception e) {
209232
return ResponseEntity.internalServerError().body(e.getMessage());
@@ -224,6 +247,10 @@ public ResponseEntity changePassword(@PathVariable("id") String id,
224247
userFromDb.setPassword(passwordEncoder.encode(changePasswordRequest.getNewPassword()));
225248
AuthUser save = userRepository.save(userFromDb);
226249

250+
MDC.put("type", "userservice");
251+
MDC.put("action", "change-password");
252+
logger.info("UserID: " + userFromDb.getId());
253+
227254
return ResponseEntity.ok("Password changed successfully");
228255
} catch (Exception e) {
229256
return ResponseEntity.internalServerError().body(e.getMessage());
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<configuration>
2+
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
3+
<destination>192.168.120.213:5050</destination>
4+
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
5+
</encoder>
6+
</appender>
7+
8+
<root level="INFO">
9+
<appender-ref ref="LOGSTASH"/>
10+
</root>
11+
</configuration>

0 commit comments

Comments
 (0)