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 מספק מידע מקיף.