কিউজিআইএস কোথায় তার ত্রুটি লগ বার্তা লিখবে?


33

আমি কিউজিআইএস ২.০ তে যে ক্র্যাশগুলির সম্মুখীন হয়েছি তার জন্য ত্রুটি লগটি পড়তে এবং কপিপাস্ট করতে চাই। আমি যে ত্রুটিটি পেয়ে যাচ্ছি কিউজিআইএস হিমশীতল তাই আমাকে সিটিআরএল-ওলট-ডেল করতে হবে। আমি প্যানেলে শেষ বার্তাটি দেখতে পাচ্ছি, তবে এটি অনুলিপি করতে বা আগের বার্তাগুলি দেখতে ফিরে স্ক্রোল করতে পারছি না। আমি যখন এটি পুনরায় খুলি, লগ বার্তা প্যানেলটি শূন্যে পুনরায় সেট হয়ে যায় (কিউজিআইএস শুরু করা ইত্যাদি), সুতরাং আমি চাই সমস্ত ট্রান্সফর্ম ত্রুটি বার্তা চলে গেছে।

পুরানো লগ বার্তা কি ডিস্কে লেখা আছে?

উত্তর:


31

কিউজিআইএস এর লগ বার্তা কোনও ফাইলে ডিফল্টরূপে লিখেনি write

আপনার যদি ডিবাগ বিল্ড থাকে (রাত্রিকালীন সাধারণত হয়) সেগুলি স্টডআউটে লেখা হয়। এর অর্থ এই যে আপনি যদি এটি লিনাক্সের টার্মিনালে চালান তবে আপনি বার্তাটি দেখতে পাবেন। উইন্ডোজে আমি মনে করি উইন্ডোজের অনুরূপ ডিবাগিং সরঞ্জাম বা এর অনুরূপ এমন একটি সরঞ্জাম রয়েছে যা বার্তাগুলি আটকাতে পারে।

একটি বিকল্প হ'ল কিছু ন্যূনতম পাইথন স্ক্রিপ্টিং ব্যবহার করা। প্রতিটি বার্তা Qt সংকেত হিসাবে নির্গত হয়। অতএব আমরা এই সংকেতগুলির সাথে সংযুক্ত হয়ে একটি ফাইলে তাদের লিখতে পারি। কেবল আপনার পাইথন কনসোলে নিম্নলিখিত কমান্ডটি অনুলিপি করুন

কিউজিআইএস 3 এর জন্য:

filename = '/tmp/qgis.log'

def write_log_message(message, tag, level):
    with open(filename, 'a') as logfile:
        logfile.write('{tag}({level}): {message}'.format(tag=tag, level=level, message=message))

QgsApplication.messageLog().messageReceived.connect(write_log_message)

বা কিউজিআইএস 2 এর জন্য:

filename = '/tmp/qgis.log'

def write_log_message(message, tag, level):
    with open(filename, 'a') as logfile:
        logfile.write('{tag}({level}): {message}'.format(tag=tag, level=level, message=message))

QgsMessageLog.instance().messageReceived.connect(write_log_message)

আপনি যখন এই কোডটি চালাবেন, তখন আউটপুটটিতে লেখা হবে /tmp/qgis.log


অনুলিপি / পেস্টে খুশি হওয়ার জন্য পাইথন কনসোলের জন্য ফাংশন সংজ্ঞা এবং চূড়ান্ত লাইনটির মধ্যে একটি ফাঁকা রেখা থাকতে হবে
রাফেল

21

যদিও এটি এই বিশেষ সমস্যার সাথে সহায়তা করবে না, যদি আপনি রানটাইমের সময় লগগুলি দেখতে চান (যেমন কিউজিআইএস ক্র্যাশ হচ্ছে না ), আপনি লগ বার্তা প্যানেলটি সক্ষম করতে পারেন।

কিউজিআইএস-এ যান: দেখুন> প্যানেলগুলি> লগ বার্তা

বক্সটি পরীক্ষা করা আছে কিনা তা নিশ্চিত করুন।


9
প্রশ্নটি আরও একবার পড়ুন।
স্টিফান

আপনি যদি একটি দম্পতি হারিয়ে ফেলেন তবে লগ বার্তা প্যানেলে আপনি কীভাবে ট্যাবগুলি ফিরে পাবেন?
ব্যবহারকারী 32882

এটি সঠিক উত্তর হিসাবে +1। স্ট্যাকেক্সচেঞ্জ সম্প্রদায়ের বিষয়ে মন্তব্য যদিও বাইরে নেই।
গ্রজেগোর্জ ওলেডজকি

8

প্রক্রিয়াজাতকরণ => বিকল্পগুলি

আপনার এটি পরীক্ষা করে দেখতে হবে: 'অ্যালগোরিদম চালানোর পরে ডায়ালগটি খোলা রাখুন'

এর পরে আপনি ত্রুটি লগের অতীতটি অনুলিপি করতে পারেন

এখানে চিত্র বর্ণনা লিখুন


1

শব্দটি সুস্পষ্ট হতে পারে তবে কিউজিআইএস বার্তাগুলি বক্সকে একটি ভাসমান সংলাপ তৈরি করতে আমি দরকারী বলে মনে করেছি যাতে আপনি এটিকে আপনার পর্দার উপর থেকে নীচে পর্যন্ত প্রসারিত করতে পারেন। এটি কিউজিআইএস ক্র্যাশ হয়ে গেলে আপনাকে আরও বার্তা স্ক্রিনটি দেখতে এবং মুদ্রণের অনুমতি দেবে। দুঃখিত, কিউজিআইএস এই বার্তাগুলি কোথায় লিখেছে তা আমি জানি না।

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