के लिए एक क्यूएमएल श्रेणी सेट करें मैं क्यूटी/क्यूएमएल विषय में नया हूं और मैं अपने सी ++ व्यापार तर्क में लॉगिंग हैंडलर स्थापित करने की कोशिश कर रहा हूं। निम्नलिखित कोड snipet हैंडलर स्थापित करता है और एक विशेष श्रेणी के सेट:console.log
void myMessageOutput(QtMsgType type, const QMessageLogContext &context,
const QString &msg)
{
...
}
क्यूटी 5 में यह भी संभव है:
int main(int argc, char *argv[])
{
qInstallMessageHandler(myMessageOutput);
QLoggingCategory mainEx("main.ex");
qCDebug(mainEx) << "debug message";
...
}
परिणाम निम्न स्थापित संदेश हैंडलर को क्यूटी बैकएंड से एक फोन है साथ QML में सीधे में डीबग संदेश लिखने के लिए:
console.debug("debug message")
लेकिन QMessageLogConext में 'cateory' हमेशा 'qml' है। क्या एक और श्रेणी सीधे क्यूएमएल में सेट करना संभव है?
यह जानना अच्छा होगा कि आपको और श्रेणियों की आवश्यकता क्यों है। क्या आप हासिल करने की कोशिश कर रहे हैं? लॉगिंग स्टेटमेंट मूल के अधिक संदर्भ प्राप्त करने के लिए आप 'QMessageLogConext' के अन्य सदस्यों (' फ़ाइल, फ़ंक्शन, लाइन') का उपयोग कर सकते हैं। – KD07
मैं एक आवेदन में विभिन्न QML एक्सटेंशन का उपयोग करना चाहता हूं और लॉगिंग सिस्टम की आवश्यकता है, जहां मैं अपने स्रोत से निर्भर संदेशों को प्रिंट कर सकता हूं। उदाहरण के लिए, यदि श्रेणियों में "एक्सटेंशन 1" लिखें, और एक qDebug() संदेश सेट किया गया है, तो यह श्रेणी (संदेश सहित) अनुकूलित हैंडलर में दिखाई देगी। तो मैं यह पता लगाने के लिए श्रेणी का उपयोग कर सकता हूं, जो कि qDebug संदेश का विस्तार करता है। – fischeth