类org.apache.log4j.net.SyslogAppender源码实例Demo

下面列出了怎么用org.apache.log4j.net.SyslogAppender的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: cloudstack   文件: AlertsSyslogAppender.java
@Override
protected void append(LoggingEvent event) {
    if (!isAsSevereAsThreshold(event.getLevel())) {
        return;
    }

    if (_syslogAppenders != null && !_syslogAppenders.isEmpty()) {
        try {
            String logMessage = event.getRenderedMessage();
            if (logMessage.contains("alertType") && logMessage.contains("message")) {
                parseMessage(logMessage);
                String syslogMessage = createSyslogMessage();

                LoggingEvent syslogEvent = new LoggingEvent(event.getFQNOfLoggerClass(), event.getLogger(), event.getLevel(), syslogMessage, null);

                for (SyslogAppender syslogAppender : _syslogAppenders) {
                    syslogAppender.append(syslogEvent);
                }
            }
        } catch (Exception e) {
            errorHandler.error(e.getMessage());
        }
    }
}
 
源代码2 项目: cloudstack   文件: AlertsSyslogAppender.java
void setSyslogAppenders() {
    if (_syslogAppenders == null) {
        _syslogAppenders = new ArrayList<SyslogAppender>();
    }

    if (_syslogHosts == null || _syslogHosts.trim().isEmpty()) {
        reset();
        return;
    }

    _syslogHostsList = parseSyslogHosts(_syslogHosts);

    if (!validateIpAddresses()) {
        reset();
        errorHandler.error(" Invalid format for the IP Addresses parameter ");
        return;
    }

    for (String syslogHost : _syslogHostsList) {
        _syslogAppenders.add(new SyslogAppender(getLayout(), syslogHost, SyslogAppender.getFacility(_facility)));
    }
}
 
源代码3 项目: mt-flume   文件: TestSyslogUdpSource.java
@Test
public void testAppend() throws InterruptedException {
  Logger logger = Logger.getLogger(getClass());
  // use the Apache syslog appender to write to syslog source
  SyslogAppender appender = new SyslogAppender(null,
      "localhost:"+TEST_SYSLOG_PORT, SyslogAppender.LOG_FTP);
  logger.addAppender(appender);
  Event e = null;
  Event e2 = null;

  source.start();

  // write to syslog
  logger.info("test flume syslog");
  logger.info("");

  Transaction txn = channel.getTransaction();
  try {
    txn.begin();
    e = channel.take();
    e2 = channel.take();
    txn.commit();
  } finally {
    txn.close();
  }

  source.stop();
  logger.removeAppender(appender);

  Assert.assertNotNull(e);
  Assert.assertEquals(String.valueOf(SyslogAppender.LOG_FTP / 8),
      e.getHeaders().get(SyslogUtils.SYSLOG_FACILITY));
  Assert.assertArrayEquals(e.getBody(), "test flume syslog".getBytes());

  Assert.assertNotNull(e2);
  Assert.assertEquals(String.valueOf(SyslogAppender.LOG_FTP / 8),
      e2.getHeaders().get(SyslogUtils.SYSLOG_FACILITY));
  Assert.assertArrayEquals(e2.getBody(), "".getBytes());
}
 
源代码4 项目: cloudstack   文件: AlertsSyslogAppender.java
public void setFacility(String facility) {
    if (facility == null) {
        return;
    }

    _facility = facility;
    if (_syslogAppenders != null && !_syslogAppenders.isEmpty()) {
        for (SyslogAppender syslogAppender : _syslogAppenders) {
            syslogAppender.setFacility(facility);
        }
    }
}
 
源代码5 项目: cloudstack   文件: AlertsSyslogAppender.java
@Override
synchronized public void close() {
    for (SyslogAppender syslogAppender : _syslogAppenders) {
        syslogAppender.close();
    }
}
 
 类所在包
 类方法
 同包方法