Java源码示例:com.cloudbees.syslog.Facility

示例1
public SyslogHandler() {
    super();
    LogManager manager = LogManager.getLogManager();

    String cname = getClass().getName();

    UdpSyslogMessageSender udpSender = new UdpSyslogMessageSender();
    udpSender.setSyslogServerHostname(LogManagerHelper.getStringProperty(manager, cname + ".syslogServerHostname", SyslogMessageSender.DEFAULT_SYSLOG_HOST));
    udpSender.setSyslogServerPort(LogManagerHelper.getIntProperty(manager, cname + ".syslogServerPort", SyslogMessageSender.DEFAULT_SYSLOG_PORT));

    appName = LogManagerHelper.getStringProperty(manager, cname + ".appName", this.appName);
    udpSender.setDefaultAppName(appName);
    facility = Facility.fromLabel(LogManagerHelper.getStringProperty(manager, cname + ".facility", this.facility.label()));
    udpSender.setDefaultFacility(facility);
    severity = Severity.fromLabel(LogManagerHelper.getStringProperty(manager, cname + ".severity", this.severity.label()));
    udpSender.setDefaultSeverity(severity);
    messageHostname = LogManagerHelper.getStringProperty(manager, cname + ".messageHostname", this.messageHostname);
    udpSender.setDefaultMessageHostname(messageHostname);

    this.syslogMessageSender = udpSender;
}
 
示例2
@Ignore
@Test
public void send2() throws Exception {

    SyslogMessage msg = new SyslogMessage()
            .withAppName("my-app")
            .withFacility(Facility.USER)
            .withHostname("my-hostname")
            .withMsg("my message over tcp éèà " + new Timestamp(System.currentTimeMillis()))
            .withSeverity(Severity.INFORMATIONAL)
            .withTimestamp(System.currentTimeMillis());

    TcpSyslogMessageSender messageSender = new TcpSyslogMessageSender();
    messageSender.setSyslogServerHostname("logs2.papertrailapp.com");
    messageSender.setSyslogServerPort(46022);
    messageSender.setMessageFormat(MessageFormat.RFC_3164);
    messageSender.setSsl(true);

    System.out.println(msg.toSyslogMessage(messageSender.getMessageFormat()));

    messageSender.sendMessage(msg);
}
 
示例3
@Ignore
@Test
public void sendOverSSL() throws Exception {

    SyslogMessage msg = new SyslogMessage()
            .withAppName("my-app")
            .withFacility(Facility.USER)
            .withHostname("my-hostname")
            .withMsg("my message over tcp ssl éèà " + new Timestamp(System.currentTimeMillis()))
            .withSeverity(Severity.INFORMATIONAL)
            .withTimestamp(System.currentTimeMillis());

    TcpSyslogMessageSender messageSender = new TcpSyslogMessageSender();
    messageSender.setSyslogServerHostname("logs2.papertrailapp.com");
    messageSender.setSyslogServerPort(46022);
    messageSender.setMessageFormat(MessageFormat.RFC_3164);
    messageSender.setSsl(true);

    System.out.println(msg.toSyslogMessage(messageSender.getMessageFormat()));

    messageSender.sendMessage(msg);
}
 
示例4
@Override
public void processEvent(Event<JsonObject> evt) {
	event = evt;
	allEvents.add(event);
	LOG.info("Received event, name = "+evt.getEventId() + ", format = " + evt.getFormat() + ", Payload = "+evt.getData().toString());
	
	String eventFormat = QRadarConfig.MSG_FORMAT;
	if (eventFormat.equals(MessageFormat.RFC_3164.toString()) || eventFormat.equals(MessageFormat.RFC_5424.toString()))
	{
		UdpSyslogMessageSender messageSender = new UdpSyslogMessageSender();
		messageSender.setDefaultMessageHostname("myhostname"); // some syslog cloud services may use this field to transmit a secret key
		messageSender.setDefaultAppName("myapp");
		messageSender.setDefaultFacility(Facility.USER);
		messageSender.setDefaultSeverity(Severity.INFORMATIONAL);
		messageSender.setSyslogServerHostname(QRadarConfig.IP_ADDRESS);
		messageSender.setSyslogServerPort(514);
		if (eventFormat.equals(MessageFormat.RFC_3164.toString()))
		      messageSender.setMessageFormat(MessageFormat.RFC_3164); // optional, default is RFC 3164

		if (eventFormat.equals(MessageFormat.RFC_5424.toString()))
		      messageSender.setMessageFormat(MessageFormat.RFC_5424); // optional, default is RFC 3164

		// send a Syslog message
		try {
			messageSender.sendMessage(evt.getData().toString());
			LOG.info("Sent event to QRadar.");
			System.out.println("Sent event to QRadar");
		} catch (IOException e) {

		// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}
 
示例5
@Test
public void send() throws Exception {
    TcpSyslogMessageSender messageSender = new TcpSyslogMessageSender();
    messageSender.setDefaultMessageHostname("mysecretkey");
    messageSender.setDefaultAppName("myapp");
    messageSender.setDefaultFacility(Facility.USER);
    messageSender.setDefaultSeverity(Severity.INFORMATIONAL);
    messageSender.setSyslogServerHostname("logs2.papertrailapp.com");
    messageSender.setSyslogServerPort(46022);
    messageSender.setMessageFormat(MessageFormat.RFC_3164);
    messageSender.setSsl(true);
    messageSender.sendMessage("unit test message over tcp éèà " + getClass() + " - " + new Timestamp(System.currentTimeMillis()));
}
 
示例6
@Test
public void send() throws Exception {
    UdpSyslogMessageSender messageSender = new UdpSyslogMessageSender();
    messageSender.setDefaultMessageHostname("mysecretkey");
    messageSender.setDefaultAppName("myapp");
    messageSender.setDefaultFacility(Facility.USER);
    messageSender.setDefaultSeverity(Severity.INFORMATIONAL);
    // messageSender.setSyslogServerHostname("cloudbees1.papertrailapp.com");
    messageSender.setSyslogServerHostname("127.0.0.1");
    messageSender.setSyslogServerPort(18977);
    messageSender.sendMessage("unit test message éèà " + getClass() + " - " + new Timestamp(System.currentTimeMillis()));
}
 
示例7
@Override
protected void write(Record record) throws StageException {
  RecordEL.setRecordInContext(elVars, record);
  TimeNowEL.setTimeNowInContext(elVars, new Date());

  String messageVal;

  try {
    String hostname = resolveEL(hostnameElEval, elVars, config.hostnameEL, String.class);
    Date timestamp = resolveEL(timestampElEval, elVars, config.timestampEL, Date.class);
    String facilityStr = resolveEL(facilityEval, elVars, config.facilityEL, String.class);
    String severityStr = resolveEL(severityEval, elVars, config.severityEL, String.class);
    String appName = resolveEL(appNameElEval, elVars, config.appNameEL, String.class);
    String messageId = resolveEL(messageIdElEval, elVars, config.messageIdEL, String.class);
    String processId = resolveEL(processIdElEval, elVars, config.processIdEL, String.class);

    baos.reset();
    DataGenerator generator = generatorService.getGenerator(baos);
    generator.write(record);
    generator.close();

    messageVal = new String(baos.toByteArray());

    Facility facility = Facility.fromNumericalCode(Integer.parseInt(facilityStr));
    Severity severity = Severity.fromNumericalCode(Integer.parseInt(severityStr));

    SyslogMessage message = new SyslogMessage()
        .withMsg(messageVal)
        .withHostname(hostname)
        .withTimestamp(timestamp)
        .withFacility(facility)
        .withSeverity(severity);

    // optional header values
    if(!appName.equals("")) {
      message.setAppName(appName);
    }
    if(!messageId.equals("")) {
      message.setMsgId(messageId);
    }
    if(!processId.equals("")) {
      message.setProcId(processId);
    }

    if (config.protocol.equals("TCP")) {
      this.tcpSender.sendMessage(message);
    } else {
      this.udpSender.sendMessage(message);
    }
  } catch (Exception e) {
    throw new OnRecordErrorException(Errors.SYSLOG_01, e);
  }
}
 
示例8
public Facility getFacility() {
    return facility;
}
 
示例9
public void setFacility(Facility facility) {
    this.facility = facility;
}
 
示例10
public static void main(String[] args) throws Exception {
    final int THREADS_COUNT = 10;
    final int ITERATION_COUNT = 1000;

    ExecutorService executorService = Executors.newFixedThreadPool(THREADS_COUNT);

    final UdpSyslogMessageSender messageSender = new UdpSyslogMessageSender();
    messageSender.setDefaultMessageHostname("mysecretkey");
    messageSender.setDefaultAppName("myapp");
    messageSender.setDefaultFacility(Facility.USER);
    messageSender.setDefaultSeverity(Severity.INFORMATIONAL);
    messageSender.setSyslogServerHostname("logs2.papertrailapp.com");
    // messageSender.setSyslogServerHostname("127.0.0.1");
    messageSender.setSyslogServerPort(46022);

    final AtomicInteger count = new AtomicInteger();


    for (int i = 0; i < THREADS_COUNT; i++) {
        final String prefix = "thread-" + i + "-udp-msg-";

        Runnable command = new Runnable() {
            @Override
            public void run() {
                for (int j = 0; j < ITERATION_COUNT; j++) {
                    try {
                        messageSender.sendMessage(prefix + j);
                    } catch (IOException e) {
                        System.err.println("ERROR in " + prefix);
                        e.printStackTrace();
                        break;
                    }
                }
            }
        };

        executorService.execute(command);
    }

    executorService.shutdown();
    executorService.awaitTermination(1, TimeUnit.MINUTES);
    System.out.println("sent " + messageSender.getSendCount() + " in " + messageSender.getSendDurationInMillis() + "ms");
    System.out.println("bye");
}