मेरे पास log4j SyslogAppender (सुविधा = USER) का उपयोग कर जावा एप्लिकेशन है और मैं पोर्ट 514 पर tcpdump का उपयोग करके देख सकता हूं कि मेरा एप्लिकेशन एक इच्छित डेटा संदेश को डेटाग्राम के रूप में भेज रहा है और नेटस्टैट मुझे दिखाता है कि syslogd (लाल टोपी) 0.0.0.04114 पर चल रहा है और सुन रहा है लेकिन मुझे/var/log/संदेशों में कोई लॉगिंग नहीं हो रही है।लॉग 4j और syslogappender
मेरी syslog.conf में, मैं
*.info /var/log/messages
SyslogAppender के लिए मेरे रूपांतरण पैटर्न
%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
मैं क्यों यह लॉग इन करने या जहां वास्तव में मैं करने के लिए के लिए दिखना चाहिए विफल हो रहा है के रूप में अनजान हूँ है देखें कि क्या असफल रहा है। और मेरे पास syslogd को शुरू/बंद करने या वर्बोज़ डीबग लॉग सक्षम करने के लिए मैन्युअल रूप से चलाने के लिए मशीन पर पर्याप्त अनुमति नहीं है।
कोई संकेतक कि मैं कैसे आगे बढ़ता हूं?
संपादित करें:
appender
private void initSyslog() {
SyslogAppender syslogAppender = new SyslogAppender();
syslogAppender.setName("syslog");
syslogAppender.setLayout(new PatternLayout("%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"));
syslogAppender.setFacility("USER");
syslogAppender.setFacilityPrinting(true);
syslogAppender.setSyslogHost("localhost");
syslogAppender.activateOptions();
Logger.getRootLogger().addAppender(syslogAppender);
Logger.getRootLogger.info("Syslogdone");
}
आप हमें अपनी log4j config में अपने appender दिखाएगा, कृपया – Chris
मैं Syslog appender रनटाइम के दौरान की स्थापना कर रहा हूँ और यहाँ यह निजी शून्य initSyslog() { SyslogAppender syslogAppender = नए SyslogAppender है(); syslogAppender.setName ("syslog"); syslogAppender.setLayout (नया पैटर्न LAYout% d {MMM डीडी एचएच: मिमी: एसएस}% एफ% एल% 5 पी [% टी]% एम% एन ")); syslogAppender.setFacility (" USER "); syslogAppender.setFacilityPrinting (सही); syslogAppender.setSyslogHost ("स्थानीय होस्ट"); syslogAppender.activateOptions();। Logger.getRootLogger() addAppender (syslogAppender); Logger.getRootLogger.info ("Syslogdone");} – Prasanna