আমি @ টেরডনের অনুরূপ পদ্ধতিগুলি দেখেছি। এটি উচ্চ স্তরের প্রোগ্রামিং ভাষাগুলি লগারকে কল করে এবং লোগো 4 জে (জাভা), লগ 4 পার্ল (পার্ল) ইত্যাদির মতো সম্পূর্ণ প্রস্ফুটিত গ্রন্থাগার হিসাবে অফার করার সূচনা It's
আপনি set -x
যেমন উল্লেখ করেছেন তেমন কিছু ব্যবহার করতে পারেন তবে আপনি এটির সাথে কোডের ব্লকগুলি মোড়ানো রেখে ডিবাগিংটি কেবলমাত্র কমান্ডের একটি উপসেট চালু করতে ব্যবহার করতে পারেন।
$ set -x; cmd1; cmd2; set +x
উদাহরণ
এখানে আপনি ব্যবহার করতে পারেন এমন একটি লাইন প্যাটার্ন's
$ set -x; echo "hi" ;set +x
+ echo hi
hi
+ set +x
স্ক্রিপ্টে একাধিক কমান্ডের জন্য আপনি এগুলি তাদের মতো মোড়ানো করতে পারেন।
set -x
cmd1
cmd2
set +x
cmd3
Log4Bash
অধিকাংশ মানুষ অন্যমনস্ক কিন্তু ব্যাশ হিসাবে ভাল একটি log4 * আছে, Log4Bash । আপনার যদি আরও পরিমিত চাহিদা থাকে তবে এটি সেট আপ করার জন্য এটি উপযুক্ত সময় হতে পারে।
লগ 4 ব্যাশ ব্যাশ স্ক্রিপ্টগুলির জন্য আরও ভাল লগিং করার একটি প্রচেষ্টা (যেমন বাশ-এ লগিং কম চুষিয়ে নিন)।
উদাহরণ
এখানে লগ 4 ব্যাশ ব্যবহারের কয়েকটি উদাহরণ রয়েছে।
#!/usr/bin/env bash
source log4bash.sh
log "This is regular log message... log and log_info do the same thing";
log_warning "Luke ... you turned off your targeting computer";
log_info "I have you now!";
log_success "You're all clear kid, now let's blow this thing and go home.";
log_error "One thing's for sure, we're all gonna be a lot thinner.";
# If you have figlet installed -- you'll see some big letters on the screen!
log_captains "What was in the captain's toilet?";
# If you have the "say" command (e.g. on a Mac)
log_speak "Resistance is futile";
Log4sh
আপনি যদি চান যা আমি লগ 4 * ফ্রেমওয়ার্কের সম্পূর্ণ পাওয়ার হিসাবে আরও শ্রেণিবদ্ধ করব তবে আমি লগ 4 শকে চেষ্টা করে দেখি ।
উদ্ধৃতাংশ
লগ 4শ মূলত একটি লগিং সমস্যা সমাধানের জন্য তৈরি হয়েছিল যেখানে আমি যে কয়েকটি উত্পাদন পরিবেশে কাজ করেছিলাম যেখানে আমার খুব বেশি লগিং ছিল, বা পর্যাপ্ত নয়। বিশেষত ক্রোন জব আমাকে তাদের ধ্রুবক এবং বিরক্তিকর ইমেলগুলি দিয়ে আমাকে সবচেয়ে মাথা ব্যথার কারণ হিসাবে জানিয়েছে যে সবকিছুই কাজ করে, বা কিছুই কিছুই কাজ করে না তবে এর কারণ কারণ নয়। আমি এখন এমন পরিবেশগুলিতে লগ 4শ ব্যবহার করি যেখানে শেল স্ক্রিপ্টগুলি থেকে লগিং সমালোচনা হয় তবে যেখানে আমার কেবল একটি সহজ "হ্যালো, আমাকে ঠিক করুন!" লগিং বার্তা প্রকার। আপনি যা দেখতে চান তা যদি পছন্দ করেন বা উন্নতির বিষয়ে কোনও পরামর্শ থেকে থাকেন তবে দয়া করে আমাকে ইমেল ছাড়াই নির্দ্বিধায়। প্রকল্পে যথেষ্ট আগ্রহ থাকলে আমি এটি আরও বিকাশ করব।
লিনাক্স-এ বোর্ন অ্যাগেইন শেল (/ বিন / বাশ) এর আওতায় লগ 4শ তৈরি করা হয়েছে, তবে এটি প্রাথমিক উত্পাদনের কারণেই সোলারিসের ডিফল্ট বোর্ন শেল (/ বিন / শ) এর অধীনে কাজ করে কিনা তা নিশ্চিত করার জন্য দুর্দান্ত যত্ন নেওয়া হয়েছে প্ল্যাটফর্ম আমার নিজের দ্বারা ব্যবহৃত।
লগ 4 শ্যাশ কেবলমাত্র বাশকে নয়, বেশ কয়েকটি শেল সমর্থন করে।
- বোর্ন শেল (শ)
- বেস - জিএনইউ বোর্ন অ্যাগেইন শেল (বাশ)
- ড্যাশ (ড্যাশ)
- কর্ন শেল (কেএসএল)
- pdksh - পাবলিক ডোমেন কার্ন শেল (pdksh)
এটি কেবল লিনাক্স নয়, বেশ কয়েকটি ওএসেও পরীক্ষা করা হয়েছে।
- সাইগউইন (উইন্ডোজ অধীনে)
- ফ্রিবিএসডি (ব্যবহারকারী সমর্থিত)
- লিনাক্স (জেন্টু, রেডহ্যাট, উবুন্টু)
- ম্যাক ওএস এক্স
- সোলারিস 8, 9, 10
লগ 4 * ফ্রেমওয়ার্কটি ব্যবহার করতে শিখতে কিছুটা সময় লাগবে তবে আপনার লগিং থেকে আরও চাহিদা থাকা প্রয়োজন থাকলে এটি উপযুক্ত। লগ 4শ একটি কনফিগারেশন ফাইল ব্যবহার করে যেখানে আপনি অ্যাপেন্ডারদের সংজ্ঞায়িত করতে পারেন এবং প্রদর্শিত হবে এমন আউটপুটের জন্য বিন্যাস নিয়ন্ত্রণ করতে পারেন।
উদাহরণ
#! /bin/sh
#
# log4sh example: Hello, world
#
# load log4sh (disabling properties file warning) and clear the default
# configuration
LOG4SH_CONFIGURATION='none' . ./log4sh
log4sh_resetConfiguration
# set the global logging level to INFO
logger_setLevel INFO
# add and configure a FileAppender that outputs to STDERR, and activate the
# configuration
logger_addAppender stderr
appender_setType stderr FileAppender
appender_file_setFile stderr STDERR
appender_activateOptions stderr
# say Hello to the world
logger_info 'Hello, world'
এখন যখন আমি এটি চালাব:
$ ./log4sh.bash
INFO - Hello, world
দ্রষ্টব্য: উপরের কোডের অংশ হিসাবে অ্যাপেন্ডারকে কনফিগার করে। আপনি যদি এটি পছন্দ করেন তবে এটির নিজস্ব ফাইল log4sh.properties
ইত্যাদিতে বের করা যেতে পারে etc.
আপনার আরও বিশদ বিবরণ প্রয়োজন হলে লগ 4 শ এর জন্য দুর্দান্ত ডকুমেন্টেশনের সাথে পরামর্শ করুন।
set -v
আউটপুটটির কোন অংশটি চান এবং কোনটি না চান তা ব্যাখ্যা না করা আমরা সহায়তা করতে পারি না।