Spring Web Services (Spring-WS) ওয়েব সার্ভিসের কার্যক্রম পর্যবেক্ষণ ও ত্রুটি নির্ণয়ের জন্য Logging এবং Monitoring এর বিশেষ ভূমিকা রয়েছে। এখানে Logging এবং Monitoring কিভাবে কনফিগার ও পরিচালনা করা যায় তার বিস্তারিত বিবরণ দেওয়া হলো।
১. Logging in Spring Web Services
Logging ওয়েব সার্ভিসের বিভিন্ন কার্যক্রম পর্যবেক্ষণের জন্য ব্যবহৃত হয়, যেমন ইনকামিং এবং আউটগোয়িং মেসেজ। Spring Framework বিভিন্ন পদ্ধতিতে Logging সাপোর্ট করে।
a. Commons Logging বা SLF4J ব্যবহার
- Spring Framework ডিফল্টভাবে Commons Logging এবং SLF4J সমর্থন করে।
LogbackবাLog4jএর মতো ফ্রেমওয়ার্ক দিয়ে লগিং কনফিগারেশন সহজ করা যায়।
b. Message Tracing
Spring-WS এর Message Tracing সক্ষম করতে org.springframework.ws প্যাকেজের Logging লেভেল DEBUG এ সেট করতে হবে।
উদাহরণ (logback.xml):
<logger name="org.springframework.ws.server.MessageTracing">
<level value="DEBUG"/>
</logger>
<logger name="org.springframework.ws.client.MessageTracing">
<level value="DEBUG"/>
</logger>
c. Custom Interceptors ব্যবহার
Custom Interceptor ব্যবহার করে ইনকামিং এবং আউটগোয়িং SOAP মেসেজের Logging করা যায়।
উদাহরণ:
public class LoggingInterceptor extends AbstractLoggingInterceptor {
@Override
protected void logMessage(String message) {
logger.info("SOAP Message: " + message);
}
}
Interceptor রেজিস্ট্রি ব্যবহার করে এটি কার্যকর করা যেতে পারে।
d. SOAP Message Logging
SOAP মেসেজ লগিং এর জন্য CommonsLoggingMessageSender বা HttpComponentsMessageSender ব্যবহার করা যেতে পারে।
উদাহরণ:
@Bean
public WebServiceTemplate webServiceTemplate() {
WebServiceTemplate template = new WebServiceTemplate();
template.setMessageSender(new HttpComponentsMessageSender());
return template;
}
২. Monitoring in Spring Web Services
Monitoring ওয়েব সার্ভিসের কর্মক্ষমতা ও ত্রুটি পর্যবেক্ষণে ব্যবহৃত হয়। Spring-WS Monitoring এর জন্য বিভিন্ন টুল এবং পদ্ধতি রয়েছে।
a. Spring Actuator
Spring Boot ভিত্তিক প্রজেক্টে Spring Actuator ইন্টিগ্রেট করে সহজেই মেট্রিক্স এবং হেলথ মনিটরিং সক্ষম করা যায়।
Maven Dependency:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Actuator Endpoints:
/actuator/health– সার্ভিসের হেলথ স্ট্যাটাস দেখার জন্য।/actuator/metrics– মেট্রিক্স ডেটা সংগ্রহের জন্য।
b. JMX (Java Management Extensions)
Spring JMX ব্যবহার করে সার্ভারের কর্মক্ষমতা পর্যবেক্ষণ এবং পরিচালনা করা যায়।
উদাহরণ:
@EnableMBeanExport
@Configuration
public class JmxConfig {
@Bean
public MBeanServer mbeanServer() {
return ManagementFactory.getPlatformMBeanServer();
}
}
c. Prometheus এবং Grafana Integration
Spring Actuator এর মাধ্যমে মেট্রিক্স সংগ্রহ করে Prometheus এবং Grafana ব্যবহার করে Visualization এবং Alerting করা যায়।
d. Custom Performance Monitoring
Custom Interceptor ব্যবহার করে API এর রেসপন্স টাইম, ইনকামিং রিকোয়েস্ট এবং ত্রুটি লগিং করা যায়।
উদাহরণ:
public class PerformanceInterceptor extends EndpointInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(PerformanceInterceptor.class);
@Override
public boolean handleRequest(MessageContext messageContext, Object endpoint) throws Exception {
long startTime = System.currentTimeMillis();
messageContext.setProperty("startTime", startTime);
return true;
}
@Override
public boolean handleResponse(MessageContext messageContext, Object endpoint) throws Exception {
long startTime = (Long) messageContext.getProperty("startTime");
long endTime = System.currentTimeMillis();
logger.info("Response Time: " + (endTime - startTime) + "ms");
return true;
}
}
৩. External Monitoring Tools
Spring Web Services এর Monitoring আরও উন্নত করতে নিচের টুলগুলো ব্যবহার করা যেতে পারে:
- ELK Stack (Elasticsearch, Logstash, Kibana): লগ বিশ্লেষণ ও Visualization এর জন্য।
- Prometheus ও Grafana: মেট্রিক্স বিশ্লেষণ এবং রিয়েল-টাইম Visualization এর জন্য।
- New Relic ও Dynatrace: সার্ভিস পারফরম্যান্স পর্যবেক্ষণের জন্য।
বেস্ট প্র্যাকটিস
- লগিং লেভেল নির্ধারণ: শুধুমাত্র প্রয়োজনীয় লেভেলের (DEBUG/INFO/ERROR) Logging চালু রাখুন।
- সেনসিটিভ ডেটা সুরক্ষা: পাসওয়ার্ড বা টোকেনের মতো সেনসিটিভ ডেটা লগ ফাইলে এড়িয়ে চলুন।
- রিয়েল-টাইম মনিটরিং: Spring Actuator এবং Prometheus এর মতো টুল ব্যবহার করে সার্ভিস পর্যবেক্ষণ করুন।
- প্রোডাকশন এবং ডেভেলপমেন্ট কনফিগারেশন আলাদা করুন।
সারমর্ম
Spring Web Services-এ Logging এবং Monitoring ব্যবহার করে ওয়েব সার্ভিসের কার্যক্রম এবং কর্মক্ষমতা উন্নত করা যায়। Logging দ্বারা ত্রুটি নির্ণয় সহজ হয় এবং Monitoring দিয়ে সার্ভিসের হেলথ ও পারফরম্যান্স পর্যবেক্ষণ করা যায়। Spring Actuator, Prometheus, এবং Grafana এর মতো টুল ব্যবহার করে একটি সম্পূর্ণ এবং স্থিতিশীল মনিটরিং সিস্টেম গড়ে তোলা সম্ভব।
স্প্রিং ওয়েব সার্ভিসে (Spring Web Services) SOAP এবং REST রিকোয়েস্টের লগিং কনফিগারেশনের জন্য আপনাকে কিছু স্টেপ অনুসরণ করতে হবে। এখানে নিচে SOAP এবং REST উভয়ের জন্য কনফিগারেশন প্রক্রিয়া ব্যাখ্যা করা হলো:
SOAP ওয়েব সার্ভিসের ক্ষেত্রে আপনি Spring Web Services Logging Interceptor ব্যবহার করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো:
স্টেপ ১: ডিপেন্ডেন্সি যোগ করুন
pom.xml এ লগিংয়ের জন্য প্রাসঙ্গিক ডিপেন্ডেন্সি যোগ করুন:
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>VERSION</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>VERSION</version>
</dependency>
স্টেপ ২: Interceptor কনফিগার করুন
Spring WS Interceptor কনফিগার করার জন্য নিচের মত একটি ক্লাস লিখুন:
import org.springframework.context.annotation.Configuration;
import org.springframework.ws.server.EndpointInterceptor;
import org.springframework.ws.soap.server.endpoint.interceptor.PayloadLoggingInterceptor;
import org.springframework.ws.config.annotation.EnableWs;
import org.springframework.ws.config.annotation.WsConfigurerAdapter;
import java.util.List;
@EnableWs
@Configuration
public class WebServiceConfig extends WsConfigurerAdapter {
@Override
public void addInterceptors(List<EndpointInterceptor> interceptors) {
// Adding the logging interceptor
PayloadLoggingInterceptor loggingInterceptor = new PayloadLoggingInterceptor();
interceptors.add(loggingInterceptor);
}
}
স্টেপ ৩: log4j.properties যোগ করুন
লগিং কনফিগার করার জন্য log4j.properties বা log4j2.xml ব্যবহার করতে পারেন। উদাহরণ:
log4j.rootLogger=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.logger.org.springframework.ws=DEBUG
REST রিকোয়েস্টের জন্য লগিং কনফিগারেশন
REST API-র জন্য আপনি Spring Boot এবং SLF4J/Logback ব্যবহার করে লগিং সহজেই সেটআপ করতে পারেন।
স্টেপ ১: ডিপেন্ডেন্সি যোগ করুন
REST API এর লগিংয়ের জন্য নিচের ডিপেন্ডেন্সি যোগ করুন:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
স্টেপ ২: HTTP রিকোয়েস্ট এবং রেসপন্স লগ করার জন্য LoggingFilter যোগ করুন
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import org.springframework.web.filter.OncePerRequestFilter;
@Component
public class LoggingFilter extends OncePerRequestFilter {
private static final Logger logger = LoggerFactory.getLogger(LoggingFilter.class);
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
logger.info("Incoming request: {} {}", request.getMethod(), request.getRequestURI());
filterChain.doFilter(request, response);
logger.info("Response status: {}", response.getStatus());
}
}
স্টেপ ৩: Application.properties ফাইলে লগিং কনফিগারেশন যোগ করুন
application.properties বা application.yml ফাইলে লগিং লেভেল নির্ধারণ করুন:
logging.level.org.springframework.web=DEBUG
logging.level.com.yourpackage=DEBUG
উভয় SOAP এবং REST এর জন্য সাধারণ লগিং
আপনি যদি উভয় SOAP এবং REST এর লগিং একসাথে কনফিগার করতে চান, তাহলে উভয় কাঠামোতে একটি সাধারণ লগিং ফ্রেমওয়ার্ক যেমন Logback বা Log4j ব্যবহার করতে পারেন। এটি Spring Boot এর সাথে ডিফল্টভাবে আসে এবং এর কনফিগারেশন application.properties বা logback-spring.xml ফাইলের মাধ্যমে করা যায়।
প্রয়োজনে আপনি Spring AOP ব্যবহার করে কাস্টম লগিং যুক্ত করতে পারেন। এটি আপনাকে অ্যাডভান্সড কনফিগারেশন এবং আরও ফাইন টিউনিং সুবিধা প্রদান করবে।
Spring Web Services (Spring-WS) এ লগিং (logging) কনফিগার করতে, সাধারণত Log4J এবং SLF4J এর সমন্বয় ব্যবহার করা হয়। এই প্রক্রিয়া সহজেই Spring এর মধ্যে লগ মেসেজ তৈরি করতে এবং ডিবাগ বা সমস্যাগুলি বিশ্লেষণ করতে সাহায্য করে।
নিচে Spring Web Services এ Log4J এবং SLF4J ব্যবহার করে লগিং করার ধাপগুলো উল্লেখ করা হলো:
১. ডিপেন্ডেন্সি যুক্ত করা (Dependency Configuration)
Spring-WS এ লগিং সেটআপ করার জন্য, প্রথমে আপনার প্রকল্পের বিল্ড টুল (Maven বা Gradle) এ প্রয়োজনীয় ডিপেন্ডেন্সি যুক্ত করতে হবে।
Maven:
<dependencies>
<!-- SLF4J Binding for Log4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.36</version>
</dependency>
<!-- Log4J -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
Gradle:
implementation 'org.slf4j:slf4j-log4j12:1.7.36'
implementation 'log4j:log4j:1.2.17'
২. Log4J কনফিগারেশন ফাইল তৈরি করা
Log4J কনফিগারেশনের জন্য একটি log4j.properties ফাইল তৈরি করতে হবে এবং এটি src/main/resources ডিরেক্টরিতে রাখতে হবে।
log4j.properties উদাহরণ:
# Log4J Configuration
# Root logger configuration
log4j.rootLogger=DEBUG, console, file
# Console appender configuration
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# File appender configuration
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=logs/spring-ws.log
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
৩. Spring Web Services এ SLF4J ব্যবহার করা
Spring-WS এর কোনো ক্লাস বা কনফিগারেশনে SLF4J ব্যবহার করতে, নিম্নলিখিত কোড ব্যবহার করুন:
উদাহরণ:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ws.server.endpoint.annotation.Endpoint;
import org.springframework.ws.server.endpoint.annotation.PayloadRoot;
import org.springframework.ws.server.endpoint.annotation.RequestPayload;
import org.springframework.ws.server.endpoint.annotation.ResponsePayload;
@Endpoint
public class MyEndpoint {
private static final Logger logger = LoggerFactory.getLogger(MyEndpoint.class);
@PayloadRoot(namespace = "http://example.com/namespace", localPart = "MyRequest")
@ResponsePayload
public String handleRequest(@RequestPayload String request) {
logger.info("Received request: {}", request);
try {
// Process the request
logger.debug("Processing request...");
String response = "Processed: " + request;
logger.info("Successfully processed the request");
return response;
} catch (Exception e) {
logger.error("Error while processing the request", e);
throw e;
}
}
}
৪. লগিং ফলাফল যাচাই করা
- কনসোলে লগ মেসেজ দেখা যাবে, কারণ আমরা
ConsoleAppenderব্যবহার করেছি। logs/spring-ws.logফাইলে সমস্ত লগ মেসেজ লেখা হবে।
৫. Spring Web Services-specific Logging সক্ষম করা
Spring-WS এর লগিং কার্যক্রম আরও নির্দিষ্ট করতে, নিচের প্যাকেজগুলোর লগিং লেভেল নির্ধারণ করতে পারেন:
log4j.properties ফাইল আপডেট:
# Enable DEBUG logging for Spring Web Services
log4j.logger.org.springframework.ws=DEBUG
log4j.logger.org.springframework.ws.soap.server.endpoint.interceptor=DEBUG
এটি Spring Web Services-এ Log4J এবং SLF4J ব্যবহার করে লগিং সেটআপ করার প্রক্রিয়া সম্পূর্ণ করে। এটি আপনাকে লগ মেসেজ মনিটর এবং ডিবাগিং সহজ করতে সহায়তা করবে।
Spring Boot Actuator হলো একটি গুরুত্বপূর্ণ টুল, যা Spring Boot অ্যাপ্লিকেশনের হেলথ (health), মেট্রিক্স (metrics), এবং কনফিগারেশন সম্পর্কিত তথ্য সহজে মনিটর ও ম্যানেজ করতে ব্যবহৃত হয়। Spring Web Services-এর সঙ্গে এটি একত্রে ব্যবহৃত হলে Monitoring এবং Metrics সংগ্রহ করা খুবই সহজ হয়।
নিচে Spring Boot Actuator ব্যবহার করে Monitoring এবং Metrics পরিচালনার একটি বিস্তারিত বিবরণ দেওয়া হলো:
১. Spring Boot Actuator যুক্ত করা
Spring Boot Actuator ব্যবহারের জন্য প্রজেক্টে spring-boot-starter-actuator ডিপেনডেন্সি যুক্ত করতে হবে:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
২. অ্যাপ্লিকেশন প্রোপার্টি কনফিগারেশন
Actuator-এর এক্সপোজড এন্ডপয়েন্ট নির্ধারণ করতে application.properties বা application.yml ফাইলে কনফিগারেশন করতে হবে।
উদাহরণ:
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
management.endpoints.web.base-path=/actuator
এখানে:
management.endpoints.web.exposure.include=*: সব Endpoints এক্সপোজড করা হচ্ছে।management.endpoint.health.show-details=always: Health Endpoint-এর বিস্তারিত দেখাবে।management.endpoints.web.base-path=/actuator: Actuator এন্ডপয়েন্টের বেস URL নির্ধারণ করা।
৩. গুরুত্বপূর্ণ Actuator Endpoints
Spring Boot Actuator কয়েকটি প্রয়োজনীয় এন্ডপয়েন্ট সরবরাহ করে, যেমন:
/actuator/health: অ্যাপ্লিকেশনের স্বাস্থ্য পরীক্ষা।/actuator/metrics: মেট্রিক্স সম্পর্কিত তথ্য।/actuator/loggers: লগ সম্পর্কিত তথ্য।/actuator/env: পরিবেশ ভেরিয়েবলের তথ্য।
৪. Custom Metrics তৈরি করা
Spring Boot Actuator-এর মাধ্যমে কাস্টম মেট্রিক্স যোগ করা যায়।
উদাহরণ:
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.stereotype.Component;
@Component
public class CustomMetrics {
public CustomMetrics(MeterRegistry registry) {
registry.counter("custom_metric_counter", "type", "example").increment();
}
}
এখানে custom_metric_counter নামে একটি কাস্টম মেট্রিক যুক্ত করা হয়েছে।
৫. Monitoring Tool ইন্টিগ্রেশন
Spring Boot Actuator সহজেই বিভিন্ন মনিটরিং টুল যেমন Prometheus, Grafana, এবং ELK Stack-এর সঙ্গে ইন্টিগ্রেট করা যায়।
Prometheus এর জন্য:
Prometheus ব্যবহার করতে micrometer-registry-prometheus ডিপেনডেন্সি যুক্ত করুন:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
application.properties:
management.metrics.export.prometheus.enabled=true
Prometheus থেকে Actuator মেট্রিক্স এক্সপোজ করা হবে /actuator/prometheus এ।
৬. Actuator Security কনফিগারেশন
Actuator এর API গুলিকে সুরক্ষিত করতে Security Configuration প্রয়োজন।
উদাহরণ:
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
@Configuration
@EnableWebSecurity
public class ActuatorSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/actuator/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.httpBasic();
}
}
উপসংহার
Spring Boot Actuator অ্যাপ্লিকেশন মনিটর এবং মেট্রিক্স সংগ্রহ করার জন্য একটি শক্তিশালী টুল। এটি ব্যবহার করলে সহজে অ্যাপ্লিকেশনের পারফরমেন্স এবং স্বাস্থ্য পর্যবেক্ষণ করা যায়। তাছাড়া, Prometheus এবং Grafana এর মতো টুলের সঙ্গে সংযোগ করে ভিজ্যুয়াল ড্যাশবোর্ড তৈরি করা সম্ভব।
স্প্রিং ওয়েব সার্ভিসেস (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