Bash:
לוגים
איך לעשות:
ב-Bash, לוגינג יכול להיות פשוט כמו הפניית פלט או הוספת פלט לקובץ. הנה דוגמא בסיסית:
echo "מתחיל את הסקריפט..." >> script.log
# כאן יבואו פקודות הסקריפט שלך
echo "הסקריפט הסתיים בתאריך $(date)" >> script.log
למשהו יותר מתקדם, אתה יכול לשלב את syslog ללוגינג רחב המערכת:
logger "הודעה מותאמת אישית מהסקריפט שלי"
logger
שולח הודעת לוג אל שירות ה-syslog, שאז מטפל בה על פי הגדרות ה-syslog של המערכת.
דוגמא לפלט שנלכד ב-script.log
:
מתחיל את הסקריפט...
הסקריפט הסתיים בתאריך Tue Mar 23 09:26:35 PDT 2021
צלילה עמוקה
במערכות הדמויות Unix בהיסטוריה, הלוגינג נתמך על ידי שירות ה-syslog, ומאפשר ליישומים שונים ולחלקים שונים של המערכת לרשום הודעות למרכז אחד. זה מאפשר את יישום מנגנון לוגינג מתוקנן רחב המערכת.
כשמדובר באלטרנטיבות, יש מי שיתבונן בשימוש ב-syslog-ng
או ב-rsyslog
לתכונות לוגינג מתקדמות יותר, או כתיבת לוגים לבסיס נתונים של סדרות זמן למטרות אנליטיות. ליישומים עם דרגות גבוהות יותר של מורכבות, שימוש בספריית לוגינג מיוחדת או אפליקציה כמו Log4j (באקוסיסטם של Java) או Monolog (ב-PHP), שיכולים לספק אופציות לוגינג מובנות וקונפיגורביליות, יכול להגיון אפילו לשפת סקריפטינג כמו Bash.
הדרך שבה אתה מיישם לוגינג תלויה ברובה בדרישות של האפליקציה שלך. אם אתה צריך רק פלט פשוט לעקוב אחר התקדמות הסקריפט, הוספה של הודעות לקובץ היא קלה ונוחה. עם זאת, ללוגינג יותר קיימי וחזק, תרצה להשתמש במערכת לוגינג שתומכת בתכונות כמו סיבוב לוגים, רמות לוגים, ולוגינג מרחוק.
ראה גם
- דפי ה-
man
עבור הפונקציותlogger
ו-syslog
תמיד יעזרו לך, נסהman logger
אוman syslog
. - למבט מעמיק יותר על לוגינג של מערכת, תוכל לשקול קריאה בתיעוד של
rsyslog
ו-syslog-ng
. - למידע נוסף על ההקשר ההיסטורי והעקרונות מאחורי רישום במערכות הדמויות Unix, פרוטוקול ה-
Syslog
המתועד ב-RFC 5424 מספק מידע מקיף.