স্প্রিং ওয়েব সার্ভিসেস (Spring Web Services) একটি জনপ্রিয় ফ্রেমওয়ার্ক যা SOAP এবং RESTful ওয়েব সার্ভিস তৈরির জন্য ব্যবহৃত হয়। এ ধরনের সেবাগুলিতে Logging এবং Monitoring গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এগুলো অ্যাপ্লিকেশনের কার্যক্রম এবং ত্রুটি নির্ণয়ে সহায়তা করে।
Logging
স্প্রিং ফ্রেমওয়ার্কে Logging এর জন্য সাধারণত SLF4J এবং Logback বা Log4j ব্যবহার করা হয়। নিচে উদাহরণ দেওয়া হলো:
১. Logback কনফিগার করা
src/main/resources/logback.xml ফাইলটি তৈরি করুন:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
২. লগ মেসেজ যুক্ত করা
কন্ট্রোলার বা সার্ভিস ক্লাসে লগ যুক্ত করুন:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class LoggingExampleController {
private static final Logger logger = LoggerFactory.getLogger(LoggingExampleController.class);
@GetMapping("/log-example")
public String logExample() {
logger.info("Info level log: API endpoint /log-example accessed");
logger.debug("Debug level log: Detailed debug information");
logger.error("Error level log: Simulating an error");
return "Check the logs for details.";
}
}
Monitoring
স্প্রিং বুট অ্যাপ্লিকেশনের জন্য Actuator লাইব্রেরি Monitoring সহজ করে তোলে। এটি বিভিন্ন মেট্রিক, স্বাস্থ্য চেক, এবং অ্যাপ্লিকেশনের বর্তমান অবস্থা পর্যবেক্ষণের সুযোগ দেয়।
১. Actuator ডিপেনডেন্সি যোগ করা
pom.xml ফাইলে ডিপেনডেন্সি যুক্ত করুন:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
২. Actuator কনফিগারেশন
application.properties বা application.yml ফাইলে Actuator এর এন্ডপয়েন্ট সক্রিয় করুন:
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
৩. Actuator এন্ডপয়েন্ট পরীক্ষা করা
অ্যাপ্লিকেশন চালু করার পর নিচের এন্ডপয়েন্টগুলো ব্যবহার করুন:
- স্বাস্থ্য চেক:
http://localhost:8080/actuator/health - মেট্রিকস:
http://localhost:8080/actuator/metrics - HTTP ট্র্যাকিং:
http://localhost:8080/actuator/httptrace
Logging এবং Monitoring একসাথে ব্যবহার
নিচে একটি উদাহরণ দেওয়া হলো যেখানে লগ এবং Actuator একত্রে কাজ করে:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MonitoringController {
private static final Logger logger = LoggerFactory.getLogger(MonitoringController.class);
@GetMapping("/monitor")
public String monitorExample() {
logger.info("Monitoring API accessed at /monitor");
return "Monitoring setup is active. Check Actuator endpoints.";
}
}
সম্পূর্ণ কোডের কার্যপ্রণালী
- লগ মেসেজগুলি কনসোল এবং ফাইল সিস্টেমে দেখা যাবে (যদি কনফিগার করা হয়)।
- Actuator এর সাহায্যে অ্যাপ্লিকেশনের কার্যক্রম পর্যবেক্ষণ করা যাবে।
- লগ এবং মেট্রিকস একসাথে ডিবাগিং এবং পারফরম্যান্স বিশ্লেষণে সহায়তা করবে।
প্রয়োজনে আপনার স্পেসিফিক রিকোয়েস্ট অনুযায়ী আরও উদাহরণ বা কোড ডিটেইল দেওয়া যেতে পারে।
Read more