Tôi có một ứng dụng java sử dụng log4j SyslogAppender (cơ sở = USER) và tôi có thể thấy bằng tcpdump trên cổng 514 rằng ứng dụng của tôi đang gửi thông điệp nhật ký dự định làm datagram và netstat cho tôi biết rằng syslogd (mũ đỏ) đang chạy và nghe trên 0.0.0.0 WEBC14 nhưng tôi không thấy bất kỳ đăng nhập nào xảy ra trong/var/log/messages.Log4j và syslogappender
Trong syslog.conf của tôi, tôi có
*.info /var/log/messages
mô hình chuyển đổi của tôi cho SyslogAppender là
%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
Tôi tránh khỏi thất bại như lý do tại sao nó được thất bại trong việc đăng nhập hoặc nơi chính xác tôi nên tìm kiếm để xem những gì đang thất bại. Và tôi không có đủ quyền trên máy để khởi động/dừng syslogd hoặc chạy thủ công để bật nhật ký gỡ lỗi chi tiết.
Mọi con trỏ như cách tôi tiến hành?
Edit:
appender dưới
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");
}
bạn sẽ cho chúng ta thấy appender của bạn trong cấu hình log4j của bạn, xin vui lòng – Chris
tôi đang thiết lập Syslog appender trong thời gian chạy và ở đây nó là 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");} – Prasanna