0
我這樣試過,但產生以下錯誤: -如何添加Java應用程序日誌,系統日誌
log4j:ERROR Precision option (0) isn't a positive integer.
public class log4jExample {
private static Logger logger = Logger.getRootLogger();
public static void main(String[] args) {
try {
SyslogAppender syslogAppender = new SyslogAppender();
syslogAppender.setName("SYSLOG");
syslogAppender.setSyslogHost("localhost");
syslogAppender.setFacility("Local3");
syslogAppender.setHeader(true);
PatternLayout layout = new PatternLayout("%d{dd-MMM-yyyy HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n");
syslogAppender.setLayout(layout);
Category category = Category.getInstance(log4jExample.class.getName());//logger.getParent();
Throwable thrwo = new Throwable();
LoggingEvent event = new LoggingEvent("log4jExample.class", category, 1000, Priority.DEBUG, new Object(), thrwo);
syslogAppender.append(event);
logger.debug("LOG");
} catch (Exception ex) {
System.out.println("Exc " + ex);
}
}
}
物業資料:
log4j.rootLogger=INFO, SYSLOG log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender log4j.appender.SYSLOG.SyslogHost=localhost log4j.appender.SYSLOG.Facility=Local3 log4j.appender.SYSLOG.Header=true log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout log4j.appender.SYSLOG.layout.ConversionPattern=java %d{ISO8601} %p %t %c{0}.%M - %m%n
什麼版本的Log4j?我很努力地用v1.2.14重現這一點,但後來我再次在Windows上,並且稍微修改了一下代碼以使用'ConsoleAppender'。 –
版本是-1.2.17 – Vishal
我找到了一臺Linux機器並使用v1.2.17進行了測試。我無法重現您的錯誤,我收到一條關於沒有找到appender的警告。您的類路徑中是否有Log4j配置文件?如果是這樣,請將其添加到您的問題。 –