2012-09-19 19 views
7

मेरे पास जावा प्रोग्राम है और मैं फेडोरा मशीन पर/var/log/messages फ़ाइल में लॉग इन करना चाहता हूं। मैं us4 log4j SyslogAppender हूँ लेकिन यह काम नहीं कर रहा है।SyslogAppender काम नहीं कर रहा

मेरी log4j गुण फ़ाइल है

# Set root category priority to INFO and its only appender to CONSOLE. 
log4j.rootCategory=INFO, CONSOLE, SYSLOG 
#log4j.rootCategory=INFO, CONSOLE, LOGFILE 

# Set the enterprise logger priority to DEBUG 
log4j.logger.com.locaid=INFO, CONSOLE, LOGFILE, SYSLOG 

# CONSOLE is set to be a ConsoleAppender using a PatternLayout. 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

# LOGFILE is set to be a File appender using a PatternLayout. 
log4j.appender.LOGFILE=org.apache.log4j.FileAppender 
log4j.appender.LOGFILE.File=/home/dev/app.log 
log4j.appender.LOGFILE.Append=true 
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.LOGFILE.layout.ConversionPattern=[%d{dd/MM/y HH:mm:ss}][%t][%1p] %c - %m%n 

log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender 
log4j.appender.SYSLOG.syslogHost=localhost 
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout 
log4j.appender.SYSLOG.layout.conversionPattern=%d{ISO8601} %-5p [%t] %c{2} %x - %m%n 
log4j.appender.SYSLOG.Facility=LOCAL1 
log4j.appender.SYSLOG.Threshold=debug 
log4j.appender.SYSLOG.FacilityPrinting=true 
/etc/rsyslog.conf में

मेरे पास है

local1.*  /var/log/app.log 

में/etc/sysconfig/rsyslog

SYSLOGD_OPTIONS="-r -m 0 -c 4" 

है पुन: प्रारंभ rsyslog सेवा app.log फ़ाइल पर बनाया गया है लेकिन कोई लॉग संलग्न नहीं किया जा रहा है। मैंने डिफ़ॉल्ट उपयोगकर्ता सुविधा के साथ भी कोशिश की है जो काम नहीं कर रहा है हालांकि logger -p LOCAL1.info cmd काम कर रहा है और app.log पर लॉग संलग्न कर रहा है। मदद चाहिए।

+0

मुझे लगता है कि आपके log4j.properties फ़ाइल में कुछ और पंक्तियां हैं। क्या आप पूरी फाइल दिखा सकते हैं? मुझे लगता है कि हमें यह देखने की ज़रूरत है कि आप एक लॉगर के साथ एपेंडर का उपयोग कैसे करते हैं। – maba

+0

पूर्ण log4j फ़ाइल अपडेट की गई है ... :) –

+0

मैंने सुविधा के विभिन्न संयोजनों का प्रयास किया है। स्तर पर काम नहीं कर रहा है। –

उत्तर

6

मैं log4j अंत में कुछ भी गलत नहीं देख सकते हैं, लेकिन मेरे /etc/default/rsyslog (Ubuntu पर)

# Options for rsyslogd 
# -m 0 disables 'MARK' messages (deprecated, only used in compat mode < 3) 
# -r enables logging from remote machines (deprecated, only used in compat mode < 3) 
# -x disables DNS lookups on messages received with -r 
# -c compatibility mode 
# See rsyslogd(8) for more details 

जो पता चलता है कि -r और -m 0-c 4 के साथ संयोजन में काम नहीं करेगा कहते हैं । यहां दूरदराज के उपयोग सेट करने की कोशिश के बजाय, आप (या हटाएं) अपने /etc/rsyslogd.conf को संपादित करने और जोड़ने चाहिए

$ModLoad imudp 
$UDPServerRun 514 
+0

धन्यवाद .... यह मेरे लिए काम करता है ... हालांकि मैंने लॉगर कमांड का उपयोग करके syslogging किया है। –

+4

'लॉगर' कमांड rsyslogd से बात करने के लिए यूडीपी सॉकेट तंत्र का उपयोग नहीं करता है, यह यूनिक्स सॉकेट '/ dev/log' का उपयोग करता है। –

2
#This Configuration File is used for Logger Module which is used for either using  Log4J or SysLog4J 
log4j.rootLogger = DEBUG,LOGFILE 

    #------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------ 
#[Log4j] 
#------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------ 

# Log4j implements Rolling File Appender Configurations 
log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender 
# The log4j layout 
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout 
# The Log4j configuration file location 
log4j.appender.LOGFILE.File= C:/Documents and Settings/bgh28706/Desktop/log_output.cfg 
# The Log4j conversion layout to apply for 
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %t %p %c %M %m %n 
# The Log4j maximum file size to keep for before renaming to the backup file 
log4j.appender.LOGFILE.MaxFileSize=5KB 
# The maximum number of log4j files to be kept in the system 
log4j.appender.LOGFILE.MaxBackupIndex=2 
#Additivity set to False makes the output not to be produced in any other appender 
log4j.additivity.LOGFILE.file=false 


#------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------ 
#[Syslog] 
#------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------ 

# The syslog appender to be configured for the syslog configuration to affect 
log4j.appender.SYSLOGFILE=org.apache.log4j.net.SyslogAppender 
# The hostname to log the syslogger information 
log4j.appender.SYSLOGFILE.SyslogHost=localhost 
# The facility name in the logger where the log file shall be logged 
log4j.appender.SYSLOGFILE.facility=local5 
# The log filename layout of the syslogger appender 
log4j.appender.SYSLOGFILE.layout=org.apache.log4j.PatternLayout 
# The syslogger configuration pattern 
log4j.appender.SYSLOGFILE.layout.ConversionPattern=%d{ISO8601} %t %p %c %M %m %n 
#Additivity set to False makes the output not to be produced in any other appender 
log4j.additivity.SYSLOGFILE.file=false 

देखें कि यह आपकी मदद कर सकता है क्योंकि यह मेरे लिए ठीक चल रहा है! सादर आनंद भट्ट

1

समस्या यहाँ

SYSLOGD_OPTIONS="-r -m 0 -c 4" 

है होना चाहिए

SYSLOGD_OPTIONS="-r -m 0" 

ये विकल्प नहीं है एक साथ काम करें

संबंधित मुद्दे