SLF4J (Simple Logging Facade for Java) একটি সাধারণ লগিং API, যা বিভিন্ন লগিং ফ্রেমওয়ার্কের জন্য একটি ফেসেড প্রদান করে। SLF4J এর মাধ্যমে আপনি লগিং এর পাশাপাশি Exception এর বিস্তারিত তথ্যও লগ করতে পারেন। এটি Exception হ্যান্ডলিং এর সময় সঠিক তথ্য সংগ্রহ করতে সাহায্য করে, যেমন stack trace, error message, এবং cause।
SLF4J এর মাধ্যমে exception logging একটি সহজ প্রক্রিয়া, যেখানে আপনি লগ মেসেজের সাথে Throwable অবজেক্ট (যেমন Exception) পাস করতে পারেন।
SLF4J-তে exception logging করার জন্য আপনি Logger এবং LoggerFactory ব্যবহার করে exception লগ করতে পারবেন। নিচে এর জন্য কয়েকটি উদাহরণ দেওয়া হয়েছে।
SLF4J এবং Logback ব্যবহার করার জন্য pom.xml
ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করতে হবে:
<dependencies>
<!-- SLF4J API Dependency -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.32</version> <!-- Use the latest version -->
</dependency>
<!-- Logback (SLF4J Implementation) Dependency -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.6</version> <!-- Use the latest version -->
</dependency>
<!-- Logback Core Dependency -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.6</version> <!-- Use the latest version -->
</dependency>
</dependencies>
এখানে:
SLF4J-এ exception লগ করার জন্য, আপনি লগ মেসেজের সাথে Throwable অবজেক্ট পাস করতে পারেন। এইভাবে exception এর স্ট্যাক ট্রেস এবং ডিটেইলস লগ করা সম্ভব হয়।
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ExceptionLoggingExample {
private static final Logger logger = LoggerFactory.getLogger(ExceptionLoggingExample.class);
public static void main(String[] args) {
try {
// Simulating an exception
int result = 10 / 0;
} catch (Exception e) {
// Logging exception with the logger
logger.error("An error occurred: ", e);
}
}
}
এখানে:
logger.error("An error occurred: ", e)
এর মাধ্যমে Exception লগ করা হচ্ছে।2024-12-21 14:30:45 - An error occurred:
java.lang.ArithmeticException: / by zero
at com.example.ExceptionLoggingExample.main(ExceptionLoggingExample.java:10)
এখানে:
SLF4J-এ আপনি লগ মেসেজের সাথে exception এর ডিটেইলস খুব সহজেই লোগ করতে পারেন। নিচে একটি উদাহরণ দেওয়া হয়েছে যেখানে exception এর সাথে কাস্টম মেসেজ যুক্ত করা হয়েছে।
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ExceptionLoggingExample {
private static final Logger logger = LoggerFactory.getLogger(ExceptionLoggingExample.class);
public static void main(String[] args) {
try {
// Simulating an exception
String str = null;
str.length();
} catch (NullPointerException e) {
// Logging exception with a custom message
logger.error("A null pointer exception occurred while trying to get string length: ", e);
}
}
}
এখানে:
logger.error("A null pointer exception occurred while trying to get string length: ", e)
এর মাধ্যমে exception এর সাথে কাস্টম মেসেজ যুক্ত করা হয়েছে।2024-12-21 14:45:30 - A null pointer exception occurred while trying to get string length:
java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null
at com.example.ExceptionLoggingExample.main(ExceptionLoggingExample.java:10)
এখানে:
SLF4J বিভিন্ন লগিং স্তরে exception লগ করতে সহায়তা করে, যেমন ERROR
, WARN
, INFO
, DEBUG
।
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ExceptionLoggingExample {
private static final Logger logger = LoggerFactory.getLogger(ExceptionLoggingExample.class);
public static void main(String[] args) {
try {
// Simulating an exception
String str = null;
str.length();
} catch (NullPointerException e) {
// Logging exception at different levels
logger.error("ERROR: A null pointer exception occurred: ", e);
logger.warn("WARN: A null pointer exception occurred: ", e);
logger.info("INFO: A null pointer exception occurred: ", e);
logger.debug("DEBUG: A null pointer exception occurred: ", e);
}
}
}
এখানে:
2024-12-21 14:50:45 - ERROR: A null pointer exception occurred:
java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null
at com.example.ExceptionLoggingExample.main(ExceptionLoggingExample.java:10)
2024-12-21 14:50:45 - WARN: A null pointer exception occurred:
java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null
at com.example.ExceptionLoggingExample.main(ExceptionLoggingExample.java:10)
2024-12-21 14:50:45 - INFO: A null pointer exception occurred:
java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null
at com.example.ExceptionLoggingExample.main(ExceptionLoggingExample.java:10)
2024-12-21 14:50:45 - DEBUG: A null pointer exception occurred:
java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null
at com.example.ExceptionLoggingExample.main(ExceptionLoggingExample.java:10)
এখানে:
SLF4J-এ Logback ব্যবহার করলে, আপনি logback.xml
ফাইল ব্যবহার করে কনফিগারেশন এবং আউটপুট ফরম্যাট কাস্টমাইজ করতে পারেন।
<configuration>
<!-- Console Appender to log messages to console -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
</encoder>
</appender>
<!-- Logger configuration -->
<logger name="com.example" level="DEBUG">
<appender-ref ref="CONSOLE"/>
</logger>
<!-- Root logger configuration -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
এখানে:
error()
, warn()
, info()
, এবং debug()
মেথডগুলো কোডকে পরিষ্কার এবং রিডেবল রাখে, যেখানে আপনি সহজে exception এবং মেসেজ ইনজেক্ট করতে পারেন।SLF4J exception logging একটি শক্তিশালী টুল যা exception এর স্ট্যাক ট্রেস এবং অন্যান্য তথ্য লগ করতে সহায়তা করে। SLF4J এর মাধ্যমে আপনি placeholders ব্যবহার করে exception এবং কাস্টম মেসেজ সহজেই লগ করতে পারেন, যা ডিবাগিং এবং প্রোডাকশন সিস্টেমে কার্যকরী। SLF4J exception logging এর সুবিধা হলো এটি শুধু প্রয়োজনীয় সময়েই ডেটা তৈরি করে, ফলে এটি পারফরম্যান্সের দিক থেকেও আরও ভালো।
SLF4J (Simple Logging Facade for Java) একটি জনপ্রিয় লোগিং ফ্রেমওয়ার্ক যা বিভিন্ন লোগিং ইমপ্লিমেন্টেশনের জন্য সাধারণ API প্রদান করে। এক্সসেপশন হ্যান্ডলিং (Exception Handling) গুরুত্বপূর্ণ বিষয়, বিশেষ করে যখন অ্যাপ্লিকেশনটি বড় এবং জটিল হয়। SLF4J ব্যবহার করে আপনি এক্সসেপশন লগিং সহজেই পরিচালনা করতে পারেন, যা ডিবাগিং এবং সমস্যার সমাধানে সহায়তা করে।
SLF4J ব্যবহার করে আপনি যে কোনো এক্সসেপশনকে লগ করতে পারেন এবং এটির স্ট্যাক ট্রেসসহ বিস্তারিত আউটপুট দেখতে পারেন। এটি ডেভেলপারদের দ্রুত সমস্যার উৎস সনাক্ত করতে সাহায্য করে এবং সিস্টেমের পারফরম্যান্সে কোনো ক্ষতি না করেই লোগিং সম্পন্ন হয়।
এখানে SLF4J ব্যবহার করে Exception Handling এর ধারণা নিয়ে আলোচনা করা হবে।
SLF4J দিয়ে এক্সসেপশন হ্যান্ডলিং করার জন্য আপনি Logger অবজেক্ট ব্যবহার করবেন, এবং এক্সসেপশন ঘটলে logger.error()
মেথড ব্যবহার করে স্ট্যাক ট্রেসসহ এক্সসেপশন লোগ করতে পারবেন। SLF4J কেবলমাত্র লগ মেসেজই নয়, এক্সসেপশনও লোগ করতে সক্ষম।
SLF4J লগার ব্যবহার করে এক্সসেপশন লগ করতে নিম্নলিখিত ধাপগুলো অনুসরণ করা হয়:
logger.error()
মেথড ব্যবহার করে এক্সসেপশন লগ করা।Throwable
অবজেক্টটি লগ মেসেজে পাস করা, যা এক্সসেপশন এবং তার স্ট্যাক ট্রেস ধারণ করে।import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HelloSlf4j {
// SLF4J Logger তৈরি করা
private static final Logger logger = LoggerFactory.getLogger(HelloSlf4j.class);
public static void main(String[] args) {
try {
// একটি উদাহরণ এক্সসেপশন তৈরি করা
throw new ArithmeticException("Division by zero");
} catch (Exception e) {
// এক্সসেপশন লোগ করা
logger.error("An error occurred: ", e);
}
}
}
এখানে:
logger.error()
মেথডটি ব্যবহার করা হয়েছে, যার প্রথম প্যারামিটার একটি লগ মেসেজ (যেমন, "An error occurred: ") এবং দ্বিতীয় প্যারামিটার হিসেবে এক্সসেপশন e
পাস করা হয়েছে।2024-12-21 12:00:00 [main] ERROR HelloSlf4j - An error occurred:
java.lang.ArithmeticException: Division by zero
at HelloSlf4j.main(HelloSlf4j.java:10)
এখানে:
SLF4J লগারের সাহায্যে আপনি বিভিন্ন ধরনের এক্সসেপশন লগ করতে পারেন যেমন runtime exceptions, checked exceptions, এবং custom exceptions।
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class RuntimeExceptionExample {
private static final Logger logger = LoggerFactory.getLogger(RuntimeExceptionExample.class);
public static void main(String[] args) {
try {
// এটি একটি RuntimeException সৃষ্টি করবে
String str = null;
str.length(); // NullPointerException
} catch (RuntimeException e) {
logger.error("Runtime exception occurred: ", e);
}
}
}
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CustomExceptionExample {
private static final Logger logger = LoggerFactory.getLogger(CustomExceptionExample.class);
public static void main(String[] args) {
try {
// কাস্টম এক্সসেপশন সৃষ্টি করা
throw new MyCustomException("This is a custom exception!");
} catch (MyCustomException e) {
logger.error("Custom exception occurred: ", e);
}
}
// কাস্টম এক্সসেপশন ক্লাস
static class MyCustomException extends Exception {
public MyCustomException(String message) {
super(message);
}
}
}
ট্রেস লেভেল লগিং: এক্সসেপশন লগ করার সময় ERROR স্তর ব্যবহার করা হয়। তবে ডেভেলপাররা যদি আরও বিস্তারিত লগিং করতে চান, তবে DEBUG বা TRACE স্তরও ব্যবহার করতে পারেন।
উদাহরণ:
logger.debug("Debugging exception: ", e);
logger.trace("Trace level exception: ", e);
logger.error()
মেথড ব্যবহার করতে পারেন, অথবা সব এক্সসেপশনকে একটি ক্যাচ ব্লকের মধ্যে নিয়ে একটি একক লগ স্টেটমেন্টে লগ করতে পারেন।ফর্ম্যাটিং: আপনি লগ মেসেজের মধ্যে বিভিন্ন ভ্যালু ফর্ম্যাট করতে পারেন। SLF4J এর {}
প্লেসহোল্ডার ব্যবহারে কাস্টম মেসেজ ফরম্যাট করা যায়।
উদাহরণ:
logger.error("Error occurred in method {}: {}", methodName, exception.getMessage());
SLF4J ব্যবহার করে এক্সসেপশন লগিং একটি সহজ এবং কার্যকর পদ্ধতি। SLF4J এর লগার (Logger
) এবং MDC (Mapped Diagnostic Context)
সহ এক্সসেপশন লগ করা যায়, যা একটি সহজ API সরবরাহ করে। logger.error()
মেথড ব্যবহার করে আপনি এক্সসেপশন এবং তার স্ট্যাক ট্রেসসহ লগ মেসেজগুলি রেকর্ড করতে পারেন, যা ডিবাগিং এবং অ্যাপ্লিকেশন ট্রাবলশ্যুটিংকে সহজ করে তোলে। SLF4J ব্যবহার করলে আপনি আপনার অ্যাপ্লিকেশনে এক্সসেপশন হ্যান্ডলিং এবং লগিংকে আরও নির্ভরযোগ্য এবং সিস্টেমের কার্যকারিতা সম্পর্কে বিস্তারিত তথ্য প্রাপ্ত করতে পারেন।
SLF4J (Simple Logging Facade for Java) হল একটি লোগিং ফ্রেমওয়ার্ক যা জাভা অ্যাপ্লিকেশনগুলিতে লগিং কার্যক্রম পরিচালনা করতে ব্যবহৃত হয়। SLF4J নিজে কোনো লোগিং কার্যক্রম পরিচালনা না করে, বরং এটি একটি ফ্যাসেড হিসেবে কাজ করে এবং অন্য লোগিং ফ্রেমওয়ার্ক (যেমন Logback, Log4j, etc.) এর সাথে ইন্টিগ্রেট করে। SLF4J আপনাকে Exception Stack Trace লগ করতে সাহায্য করে, যা ডিবাগিং এবং ত্রুটি ট্র্যাকিং এর জন্য অত্যন্ত গুরুত্বপূর্ণ।
Exception Stack Trace হল একটি ত্রুটির পূর্ণ বিবরণ যা সাধারণত স্ট্যাকের মধ্যে ফাংশন কলের একটি সিরিজ দেখায়, যা ত্রুটি বা এক্সসেপশন ঘটেছে। এটি ডেভেলপারদের ত্রুটির কারণ দ্রুত খুঁজে বের করতে সাহায্য করে। SLF4J ব্যবহার করে আপনি সহজেই Exception Stack Trace লগ করতে পারেন, যাতে আপনার অ্যাপ্লিকেশনের কার্যকারিতা পরীক্ষা এবং ত্রুটি সমাধান করা সহজ হয়।
SLF4J এবং তার সঙ্গে ব্যবহৃত লোগিং ফ্রেমওয়ার্ক যেমন Logback বা Log4j ব্যবহার করে আপনি খুব সহজেই Exception এবং তার স্ট্যাক ট্রেস লগ করতে পারেন।
SLF4J ব্যবহার করে Exception Stack Trace লগ করার জন্য, আপনাকে Exception অবজেক্টটি লগ করতে হবে। SLF4J এর logger.error() মেথড ব্যবহার করে আপনি Exception Stack Trace লগ করতে পারেন।
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyApp {
// Logger instance
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
try {
// Simulating an exception
int result = 10 / 0;
} catch (Exception e) {
// Log the exception stack trace
logger.error("An error occurred: ", e);
}
}
}
এখানে:
"An error occurred: "
হল লগ মেসেজ, এবং e হল ধরা পড়া Exception অবজেক্ট।2024-12-21 12:30:45.123 ERROR MyApp - An error occurred:
java.lang.ArithmeticException: / by zero
at com.example.MyApp.main(MyApp.java:10)
এখানে, java.lang.ArithmeticException এর স্ট্যাক ট্রেস সহ লগ আউটপুট হবে, যা ব্যাখ্যা করে যে কী কারণে ত্রুটি ঘটেছে (এক্ষেত্রে division by zero ত্রুটি)।
Logback হল SLF4J এর জন্য ডিফল্ট লোগিং ফ্রেমওয়ার্ক, এবং এটি SLF4J লগ মেসেজের সাথে Exception Stack Trace খুব সহজে লোগ করতে সক্ষম। SLF4J এর মাধ্যমে Exception লগ করার জন্য Logback কনফিগারেশন এবং SLF4J এর error() মেথড ব্যবহার করা হয়।
Logback কনফিগারেশন ফাইল logback.xml ব্যবহার করে আপনি লগ আউটপুট কাস্টমাইজ করতে পারেন, যেমন স্ট্যাক ট্রেসের জন্য কাস্টম প্যাটার্ন ফরম্যাটিং।
<configuration>
<!-- Console appender for logging to console -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
</encoder>
</appender>
<!-- Root logger configuration -->
<root level="error">
<appender-ref ref="console"/>
</root>
</configuration>
এখানে:
error
স্তরের লোগিং সেট করা হয়।import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyApp {
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
try {
// Simulate exception
int result = 10 / 0;
} catch (Exception e) {
// Log exception with stack trace
logger.error("An error occurred", e);
}
}
}
এখানে:
2024-12-21 12:30:45.123 - An error occurred
java.lang.ArithmeticException: / by zero
at com.example.MyApp.main(MyApp.java:10)
SLF4J ব্যবহার করে বিভিন্ন লেভেলের লগ তৈরি করা যায়, যেমন:
আপনি যে লেভেলে লগিং করতে চান, সেই অনুযায়ী SLF4J এর মেথড ব্যবহার করতে পারেন।
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyApp {
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
try {
// Simulate exception
int result = 10 / 0;
} catch (Exception e) {
// Log exception with stack trace using error level
logger.error("An error occurred", e);
logger.warn("Warning: something went wrong.");
logger.info("Application is running fine.");
logger.debug("Debugging the application flow.");
}
}
}
Exception Stack Trace লগ করা ডিবাগিং এবং ট্রাবলশুটিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি ত্রুটির সঠিক অবস্থান, প্রকৃতি, এবং কারণ সম্পর্কে বিস্তারিত তথ্য সরবরাহ করে।
Exception Stack Trace লগ করা প্রোডাকশন পরিবেশে ডিপ্লয়ড অ্যাপ্লিকেশনের কার্যকারিতা মনিটর করতে সাহায্য করে। এটি ত্রুটি সম্পর্কে দ্রুত জানতে এবং তা সমাধান করতে সহায়ক হয়।
Stack Trace লগ করা আপনার সিস্টেমের কার্যক্রম পর্যবেক্ষণ এবং রিপোর্টিং সিস্টেমের জন্য খুবই গুরুত্বপূর্ণ, যাতে আপনি ত্রুটির কারণ চিহ্নিত করে তা দ্রুত সমাধান করতে পারেন।
SLF4J হল একটি লোগিং API যা বিভিন্ন লোগিং ফ্রেমওয়ার্কের সাথে ইন্টিগ্রেট হয়ে কাজ করে, যেমন Logback, Log4j ইত্যাদি। SLF4J ব্যবহার করে Exception Stack Trace লগ করা খুবই সহজ এবং এটি ডিবাগিং ও ট্রাবলশুটিং প্রক্রিয়াকে সহজ করে তোলে। SLF4J এর logger.error() মেথড ব্যবহার করে আপনি Exception এবং তার স্ট্যাক ট্রেস লগ করতে পারেন, যা আপনার অ্যাপ্লিকেশনের কার্যকারিতা পর্যবেক্ষণ এবং ত্রুটি সমাধানে সাহায্য করে।
SLF4J (Simple Logging Facade for Java) একটি জনপ্রিয় লোগিং API যা Java অ্যাপ্লিকেশনগুলির জন্য একটি সাধারণ ইন্টারফেস সরবরাহ করে, যাতে আপনি বিভিন্ন লোগিং ফ্রেমওয়ার্কের সাথে ইন্টিগ্রেট করতে পারেন। SLF4J আপনাকে log মেসেজগুলির মধ্যে Exception (ব্যতিক্রম) সংক্রান্ত ডাটা অন্তর্ভুক্ত করার সুযোগ দেয়, যা ডিবাগিং এবং মনিটরিং সহজ করে তোলে।
Exception Logging-এর মাধ্যমে আপনি একটি ব্যতিক্রমের সঠিক ট্রেস এবং স্ট্যাক ডেটা লগ করতে পারেন, যা সমস্যাটির উৎস এবং তার প্রবাহ বুঝতে সাহায্য করে। SLF4J ব্যবহার করে, আপনি ব্যতিক্রমের ইনফরমেশন লগ মেসেজে অন্তর্ভুক্ত করতে পারেন এবং স্ট্যাক ট্রেস (stack trace) সহ পুরো ব্যতিক্রম লগ করতে পারেন।
SLF4J-তে Exception Logging খুবই সহজ এবং সোজা। logger.error()
বা logger.warn()
মেথডের মাধ্যমে আপনি ব্যতিক্রম এবং তার স্ট্যাক ট্রেস লগ করতে পারেন। ব্যতিক্রমের সাথে লগ করার জন্য SLF4J-এর logger.error() বা logger.warn() মেথডে Throwable
অবজেক্ট হিসেবে ব্যতিক্রম পাস করতে হবে।
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyApp {
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
try {
// Simulating an exception
int result = 10 / 0; // ArithmeticException
} catch (Exception e) {
// Logging the exception with SLF4J
logger.error("An error occurred: ", e); // Logging exception with stack trace
}
}
}
এখানে:
ArithmeticException
উত্পন্ন করেছি (যেহেতু শূন্য দিয়ে ভাগ করার চেষ্টা করা হয়েছে)।logger.error()
মেথডে ব্যতিক্রম (Exception e
) পাস করে, তার স্ট্যাক ট্রেসসহ ব্যতিক্রমটি লগ করা হয়েছে।logback.xml ফাইলের মাধ্যমে, আপনি SLF4J-এর লগিং কনফিগারেশনটি কাস্টমাইজ করতে পারেন যাতে Exception এর লগিং আউটপুট সঠিকভাবে করা হয়।
<configuration>
<!-- Console Appender for logging to the console -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- Define the log pattern to include exception stack trace -->
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n%ex</pattern>
</encoder>
</appender>
<root level="error">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
এখানে:
%ex
pattern ব্যবহার করে আমরা ব্যতিক্রমের স্ট্যাক ট্রেস আউটপুটে অন্তর্ভুক্ত করছি।%msg
লগ মেসেজের জন্য ব্যবহার হচ্ছে।এখানে ব্যতিক্রমের সাথে বিভিন্ন লগ লেভেল ব্যবহার করা হয়েছে:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyApp {
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
try {
// Simulating a different exception
String str = null;
str.length(); // NullPointerException
} catch (NullPointerException e) {
// Logging with WARN level
logger.warn("Warning: NullPointerException occurred.", e);
} catch (Exception e) {
// Logging with ERROR level
logger.error("Error: An unexpected exception occurred.", e);
}
}
}
এখানে:
logger.warn()
ব্যবহার করে আমরা NullPointerException
কে WARN লেভেলে লগ করেছি।logger.error()
ব্যবহার করে আমরা অন্য কোনো ব্যতিক্রমকে ERROR লেভেলে লগ করেছি।আপনি আপনার নিজস্ব ব্যতিক্রম (custom exception) তৈরি করে এবং তা SLF4J এর মাধ্যমে লগ করতে পারেন।
public class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
public class MyApp {
private static final Logger logger = LoggerFactory.getLogger(MyApp.class);
public static void main(String[] args) {
try {
throw new CustomException("This is a custom exception");
} catch (CustomException e) {
logger.error("Custom exception occurred: ", e);
}
}
}
এখানে:
CustomException
তৈরি করা হয়েছে।SLF4J Exception Logging একটি কার্যকরী পদ্ধতি যা ব্যতিক্রম এবং তার স্ট্যাক ট্রেস লগ করার জন্য ব্যবহৃত হয়। SLF4J API ব্যবহার করে আপনি ব্যতিক্রম লগ মেসেজে বিস্তারিত তথ্য অন্তর্ভুক্ত করতে পারেন, যা ডিবাগিং এবং সমস্যা সমাধানকে আরও সহজ করে তোলে। MDC ব্যবহার করে কনটেক্সচুয়াল তথ্য লগে অন্তর্ভুক্ত করা যায়, এবং এটি লোগিংয়ের কার্যকারিতা বৃদ্ধি করে। SLF4J এর মাধ্যমে আপনি ব্যতিক্রম এবং অন্যান্য গুরুত্বপূর্ণ তথ্য সহজে লগ করতে পারেন, যা অ্যাপ্লিকেশন ম্যানেজমেন্টের জন্য অত্যন্ত কার্যকরী।
Read more