2012-11-05 16 views
6

Nie mogę zapisać logów w syslog. Każda pomoc byłaby świetna. Oto mój prosty program log4jZapisywanie danych dziennika do syslog przy użyciu log4j

import org.apache.log4j.Logger; 
import java.io.*; 
import java.sql.SQLException; 
import java.util.*; 

public class log4jExample 
{ 
    /* Get actual class name to be printed on */ 
    static Logger log = Logger.getLogger(log4jExample.class.getName()); 

    public static void main(String[] args) throws IOException,SQLException 
    { 

    log.error("Hello this is an error message"); 
    log.info("Hello this is an info message"); 
    log.fatal("Fatal error message"); 
    } 
} 

Moi syslog plik właściwości

# configure the root logger 
log4j.rootLogger=INFO, SYSLOG 


# configure Syslog facility LOCAL1 appender 
log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender 
log4j.appender.SYSLOG.threshold=WARN 
log4j.appender.SYSLOG.syslogHost=localhost 
log4j.appender.SYSLOG.facility=LOCAL4 
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout 
log4j.appender.SYSLOG.layout.conversionPattern=[%p] %c:%L - %m%n 

Odpowiedz

12

Dodaj poniższe linie do rsyslog.conf plikowi

$ModLoad imudp 
$UDPServerRun 514 

pracował dla mnie.

Konieczność ponownego uruchomienia rsysloga po modyfikacji.

+1

Po wprowadzeniu tych zmian może być konieczne ponowne uruchomienie rsyslogd. – Dave

+0

Tak, zapomniałem o tym wspomnieć. Dzięki –

+0

@SandeepRao Perfect! Spędziłem około godziny próbując undertand, dlaczego nie widzę niczego w bazie danych MySQL z LOG4J :-) Dziękuję. – setevoy

Powiązane problemy