2012-11-05 43 views
6

Tôi không thể ghi thông điệp tường trình vào nhật ký hệ thống. Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời. Đây là chương trình đơn giản của tôi log4jGhi dữ liệu nhật ký vào nhật ký hệ thống bằng cách sử dụng 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"); 
    } 
} 

tính syslog My nộp

# 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 

Trả lời

12

Thêm các dòng sau vào tập tin rsyslog.conf

$ModLoad imudp 
$UDPServerRun 514 

Nó làm việc cho tôi.

Cần khởi động lại rsyslog sau khi áp dụng.

+1

Bạn có thể cần phải khởi động lại rsyslogd sau khi thực hiện những thay đổi này. – Dave

+0

Có quên đề cập đến nó. Cảm ơn –

+0

@SandeepRao Hoàn hảo! Tôi đã dành khoảng giờ cố gắng undertand tại sao tôi không thấy bất cứ điều gì trong cơ sở dữ liệu MySQL từ LOG4J :-) Cảm ơn bạn. – setevoy

Các vấn đề liên quan