লেজ ও & জার্টিক্টেলের সংমিশ্রণ


27

আমি আমার নিজস্ব অ্যাপ্লিকেশন এবং পোস্টগ্রোগের লগগুলি টেলিং করছি।

tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log

আমাকে পিজপুলের লগগুলি অন্তর্ভুক্ত করতে হবে। এটি সিসলগ হিসাবে ব্যবহৃত হত তবে এখন এটি জার্নটেক্টল-এ রয়েছে।

লেজ-এফ & জার্নাল্টেল -f একসাথে বেঁধে দেওয়ার কোনও উপায় কি?

উত্তর:


27

আপনি ব্যবহার করতে পারেন:

journalctl -u service-name -f

-ফ, - ফলো

কেবলমাত্র সাম্প্রতিক জার্নাল এন্ট্রিগুলি দেখান এবং জার্নালে যুক্ত হওয়ার সাথে সাথে নতুন এন্ট্রিগুলি ক্রমাগত মুদ্রণ করুন।

এই উত্তরটি অন্যের থেকে আলাদা করতে এখানে আমি "পরিষেবা-নাম" যুক্ত করেছি; আপনি পাঠ্যের পরিবর্তে প্রকৃত পরিষেবার নামটি প্রতিস্থাপন করবেন service-name


20

আপনি আপনার লগ এন্ট্রি জার্নালে ফরোয়ার্ড করতে পারেন :

systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log

এবং তারপরে ব্যবহার করুন journalctl -f... যদিও মার্ক উল্লেখ করেছেন, এটি সমস্ত জার্নাল এন্ট্রি প্রিন্ট করবে।


সেই লগগুলি থেকে এবং সেই নির্দিষ্ট ইউনিট থেকে কেবলমাত্র বার্তাগুলি ফিল্টার করার একটি উপায় হ'ল পৃথক ব্যবহার করা SYSLOG_IDENTIFIERঅর্থাৎ ইউনিট ফাইলটি সম্পাদনা করা এবং [Service]বিভাগের অধীনে যেমন

SyslogIdentifier=my_stuff

ইউনিটটি পুনরায় চালু করুন তারপরে systemd-catএকই সনাক্তকারী দিয়ে চালান

systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log

এবং অবশেষে কেবলমাত্র সেই নির্দিষ্ট শনাক্তকারীর জন্য জার্নালটি জিজ্ঞাসা করুন:

journalctl -f -t my_stuff

4

আপনার যদি বাশ উপলভ্য থাকে তবে আপনি প্যারামিটারগুলির মধ্যে একটি হিসাবে প্রক্রিয়া বিকল্পটি ব্যবহার করতে পারেন tail:

tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)

এটি আমিও চেষ্টা করেছি মার্জিত উপায়, কিন্তু কাজ করে না। লেজটি দেখায় যে এটি / dev / fd / xx ব্যবহার করছে তবে কোনও লগ প্রদর্শিত হবে না।
বাইকী

সঠিক; / ডেভ / এফডি / এক্সএক্সএক্স হ'ল অস্থায়ী পাইপ যা প্রক্রিয়া প্রতিস্থাপন বাস্তবায়নের জন্য ব্যাশ ব্যবহার করে; যে কোনও জার্নাক্টল আউটপুট সেখানে প্রদর্শিত হবে।
জেফ শ্যাচলার

5
আপনি সম্ভবত পুরো জার্নালটি অনুসরণ করতে চান না তবে কেবল পগপুল ইউনিটের জন্য। নামকৃত পরিষেবাটি ধরে রেখে pgpool.service, চেষ্টা করুন journalctl -fu pgpool.service। এছাড়াও, আপনি যদি এটি রুট হিসাবে চালাচ্ছেন না, নিশ্চিত হন যে ব্যবহারকারী দলে আছেন systemd-journal!
মার্ক স্টসবার্গ

1

এরকম কিছু চেষ্টা করুন:

tail -f /tmp/myapp.log >> /tmp/tail.log &
journalctl -f >> /tmp/tail.log &
tail -f /tmp/tail.log
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.