| LOGGER(1) | User Commands | LOGGER(1) |
نام (NAME)
logger - ارسال پیام به سیستم گزارشگیری وقایع لینوکس (Syslog)
خلاصه دستور (SYNOPSIS)
logger [options] message
توضیحات (DESCRIPTION)
دستور logger ورودیهایی را در گزارش وقایع سیستم ثبت میکند.
هنگامی که آرگومان اختیاری message وجود داشته باشد، در لاگ نوشته میشود. اگر وجود نداشته باشد و گزینهٔ -f نیز داده نشده باشد، ورودی استاندارد ثبت میشود.
گزینهها (OPTIONS)
-d, --udp
همچنین برای مشخص کردن محل اتصال، --server و --socket را ببینید.
-e, --skip-empty
-f, --file file
-i
--id[=id]
توجه داشته باشید که زیرساخت گزارشگیری وقایع سیستم (به عنوان مثال systemd هنگام شنود روی /dev/log) ممکن است اعتبارنامههای سوکت محلی (local socket credentials) را برای لغو PID مشخصشده در پیام دنبال کند. دستور logger(1) قادر است آن اعتبارنامههای سوکت را روی id دادهشده تنظیم کند، اما تنها در صورتی که دسترسی ریشه (root) داشته باشید و فرآیندی با PID مشخصشده وجود داشته باشد؛ در غیر این صورت اعتبارنامههای سوکت تغییر نمیکنند و این موضوع بدون هشدار نادیده گرفته میشود.
--journald[=file]
logger --journald <<end MESSAGE_ID=67feb6ffbaf24c5cbec13c008dd72309 MESSAGE=The dogs bark, but the caravan goes on. DOGS=bark CARAVAN=goes on end
logger --journald=entry.txt
توجه داشته باشید که --journald مقادیر سایر گزینهها مانند اولویت را نادیده میگیرد. اگر اولویت مورد نیاز باشد، باید درون ورودی و با استفاده از فیلد PRIORITY تعیین شود. اجرای سادهٔ journalctl(1) فیلد MESSAGE را نمایش میدهد. از journalctl --output json-pretty برای مشاهده سایر فیلدها استفاده کنید.
برای قرار دادن خطوط جدید در MESSAGE، فیلد MESSAGE را چندین بار مشخص کنید. این به عنوان یک حالت ویژه در نظر گرفته میشود؛ سایر فیلدها در صورتی که چندین بار تکرار شوند به صورت یک آرایه در ژورنال ذخیره خواهند شد.
--msgid msgid
-n, --server server
--no-act
--octet-count
-P, --port port
-p, --priority priority
--prio-prefix
اگر پیشوند حاوی facility نباشد، facility به مقدار مشخصشده توسط گزینهٔ -p بازمیگردد. بهطور مشابه، اگر هیچ پیشوندی ارائه نشود، خط با استفاده از priority دادهشده با -p لاگ میشود.
این گزینه بر پیامهای خط فرمان تأثیری ندارد. این گزینه در درجه اول برای مواردی طراحی شده است که در آنها logger در یک خط لوله (مانند daemon | logger --prio-prefix) برای خواندن چندین پیام با اولویتهای متفاوت استفاده میشود.
--rfc3164
--rfc5424[=without]
مقدار notq دادههای ساختاریافتهٔ کیفیت زمان (time-quality) را از پیام ارسالشده حذف میکند. اطلاعات کیفیت زمان نشان میدهد که آیا ساعت محلی همگامسازی شده است یا خیر، به همراه حداکثر تعداد میکروثانیههایی که برچسب زمانی ممکن است انحراف داشته باشد. همچنین کیفیت زمان هنگامی که --sd-id timeQuality مشخص شود، بهطور خودکار سرکوب میشود.
مقدار notime (که شامل notq نیز میشود) کل برچسب زمانی فرستنده را که در قالب ISO-8601 است، شامل میکروثانیهها و منطقه زمانی، حذف میکند.
مقدار nohost اطلاعات فراخوانی gethostname(2) را از سربرگ پیام حذف میکند.
پروتکل RFC 5424 از نگارش 2.26 پیشفرض دستور logger بوده است.
-s, --stderr
--sd-id name[@digits]
دستور logger در حال حاضر تنها عنصر استاندارد timeQuality را تولید میکند. سند RFC 5424 همچنین عناصر origin (با پارامترهای ip، enterpriseId، software و swVersion) و meta (با پارامترهای sequenceId، sysUpTime و language) را توصیف میکند. این شناسههای عنصر ممکن است بدون پسوند @digits مشخص شوند.
--sd-param name=value
logger --rfc5424 --sd-id zoo@123 \
--sd-param tiger="hungry" \
--sd-param zebra="running" \
--sd-id manager@123 \
--sd-param onMeeting="yes" \
"this is message"
تولید میکند:
<13>1 2015-10-01T14:07:59.168662+02:00 ws kzak - - [timeQuality tzKnown="1" isSynced="1" syncAccuracy="218616"][zoo@123 tiger="hungry" zebra="running"][manager@123 onMeeting="yes"] this is message
-S, --size size
اکثر گیرندهها پیامهای بزرگتر از 1KiB را روی هر نوع پروتکل syslog میپذیرند. به این ترتیب، گزینهٔ --size در تمام موارد بر logger تأثیر میگذارد (نه تنها زمانی که از --rfc5424 استفاده شده باشد).
نکته: محدودیت اندازه پیام، اندازه کلی پیام شامل سربرگ syslog را محدود میکند. اندازه سربرگ بسته به گزینههای انتخابشده و طول نام میزبان متفاوت است. به عنوان یک قاعده تجربی، سربرگها معمولاً طولانیتر از 50 تا 80 نویسه نیستند. هنگام انتخاب حداکثر اندازه پیام، مهم است که مطمئن شوید گیرنده نیز از حداکثر اندازه پشتیبانی میکند، در غیر این صورت ممکن است پیامها کوتاه (truncate) شوند. باز هم به عنوان یک قاعده کلی، اندازه پیام دو تا چهار KiB عموماً باید مناسب باشد، در حالی که هر مقدار بزرگتر باید بررسی شود تا از کارکرد آن اطمینان حاصل گردد.
--socket-errors mode
هنگامی که خطاها فعال نباشند، پیامهای از دست رفته گزارش نمیشوند و منجر به یک وضعیت خروج موفق برای logger(1) خواهند شد.
-T, --tcp
همچنین برای مشخص کردن محل اتصال، --server و --socket را ببینید.
-t, --tag tag
-u, --socket socket
--
-h, --help
-V, --version
وضعیت خروج (EXIT STATUS)
ابزار logger در صورت موفقیت با مقدار 0 و در صورت بروز خطا با مقدار >0 خارج میشود.
تسهیلات و سطوح (FACILITIES AND LEVELS)
نامهای معتبر تسهیلات (facilities) عبارتند از:
auth
authpriv برای
اطلاعات
امنیتی با
ماهیت حساس
cron
daemon
ftp
kern
نمیتواند
از فرآیند
فضای
کاربری
تولید شود،
بهطور
خودکار به
user تبدیل
میشود
lpr
mail
news
syslog
user
uucp
local0
تا
local7
security مترادف
منسوخشده
برای auth
نامهای معتبر سطوح (levels) عبارتند از:
emerg
alert
crit
err
warning
notice
info
debug
panic مترادف
منسوخشده
برای emerg
error مترادف
منسوخشده
برای err
warn مترادف
منسوخشده
برای warning
برای ترتیب اولویت و اهداف مورد نظر این بخشها و سطوح، syslog(3) را ببینید.
انطباق با استانداردها (CONFORMING TO)
انتظار میرود دستور logger با استاندارد IEEE Std 1003.2 ("POSIX.2") سازگار باشد.
مثالها (EXAMPLES)
logger System rebooted
logger -p local0.notice -t HOSTIDM -f /dev/idmc
logger -n loghost.example.com System rebooted
نویسندگان (AUTHORS)
دستور logger در ابتدا توسط دانشگاه کالیفرنیا در سالهای 1983-1993 نوشته شد و بعداً توسط Karel Zak <kzak@redhat.com>، Rainer Gerhards <rgerhards@adiscon.com>، و Sami Kerola <kerolasa@iki.fi>. بازنویسی شد.
همچنین ببینید (SEE ALSO)
گزارش باگها (REPORTING BUGS)
برای گزارش باگها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues. استفاده کنید.
دسترسی (AVAILABILITY)
دستور logger بخشی از بستهٔ util-linux است که میتوان آن را از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت کرد.
| 2026-09-02 | util-linux 2.42.3 |