Log4j and syslogappender

20,100

Remote logging was not enabled in syslog. Weird, because it still opens and listens on 514. Once I started with syslog -r, everything started logging.

Share:
20,100
Prasanna
Author by

Prasanna

Updated on November 14, 2020

Comments

  • Prasanna
    Prasanna over 3 years

    I have a java application using log4j SyslogAppender (facility=USER) and I can see using tcpdump on port 514 that my application is sending intended log message as a datagram and also netstat shows me that syslogd (red hat) is running and listening on 0.0.0.0:514 but I do not see any logging happening in /var/log/messages.

    In my syslog.conf, I have

    *.info         /var/log/messages
    

    My conversion pattern for SyslogAppender is

    %d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
    

    I am clueless as why it is failing to log or where exactly should I look for to see what is failing. And I don't have enough permissions on the machine to start/stop syslogd or run manually to have verbose debug logs enabled.

    Any pointers as how I proceed?

    Edit:

    The Appender below

    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");
    } 
    
  • Ztyx
    Ztyx over 11 years
    Please add you question as anwered.
  • Leo
    Leo over 9 years
    looks like a broken link :-(