Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
0310bd4
Make it configurable to end messages with CR LF for TCPSender
Mar 14, 2017
3f1bb40
Modified Facility to use digits 0 - 23 instead of multiplied by 8, to…
dhsmith1001 Jun 6, 2017
9cbeb4f
Added initial support for Structured Data.
bbergquist0930 Aug 17, 2017
31627c2
Added check for documented reserved SD-ID's
bbergquist0930 Aug 17, 2017
6876bbb
Merge pull request #12 from perlei/feature/optionalCRLF
Sep 6, 2017
13b4d70
Merge pull request #15 from dhsmith1001/master
Sep 6, 2017
bd329fc
Merge pull request #13 from jasonparallel/master
Sep 6, 2017
0e92815
Merge pull request #16 from bbergquist0930/structureddata
Sep 6, 2017
5a1189d
better test
Sep 6, 2017
8e266a4
[maven-release-plugin] prepare release syslog-java-client-1.1.0
Sep 6, 2017
f42ddd8
[maven-release-plugin] prepare for next development iteration
Sep 6, 2017
1c59972
Update README.md
Sep 6, 2017
8f55fc0
The list of reserved SD-ID's was incorrect. Changed to the correct l…
bbergquist0930 Sep 15, 2017
61c80ad
Merge pull request #17 from bbergquist0930/fixsdids
Oct 5, 2017
0011e5a
better readme file
Oct 6, 2017
f29597f
[maven-release-plugin] prepare release syslog-java-client-1.1.1
Oct 6, 2017
ae70a1f
[maven-release-plugin] prepare for next development iteration
Oct 6, 2017
168162e
Fix #19 NullPointerException in TcpSyslogMessageSender#toString()
Nov 1, 2017
2be6895
[maven-release-plugin] prepare release syslog-java-client-1.1.2
Nov 1, 2017
57617f5
[maven-release-plugin] prepare for next development iteration
Nov 1, 2017
fed60cf
Update readme
Nov 1, 2017
700bf10
Fix #23 Priority calculation for rfc3164
Jun 29, 2018
79db90d
Merge pull request #24 from SpyrosPac/master
Jun 29, 2018
3612a77
[maven-release-plugin] prepare release syslog-java-client-1.1.3
Jul 4, 2018
3723853
[maven-release-plugin] prepare for next development iteration
Jul 4, 2018
8296e34
Add support for RFC 5425
Sep 10, 2018
e92c60c
Add support for RFC 5425
Sep 10, 2018
573b8e8
Merge pull request #26 from ENOVACOM/rfc-5425-message-format
Sep 13, 2018
d465674
[maven-release-plugin] prepare release syslog-java-client-1.1.4
Sep 13, 2018
5f4527a
[maven-release-plugin] prepare for next development iteration
Sep 13, 2018
7782fda
add the OSGi bundle header to jar file
xipki Sep 14, 2018
23c1052
Better readme, include sample for RFC-5425
Sep 14, 2018
a4cf66a
Merge pull request #27 from xipki/master
Sep 17, 2018
9ac9a92
add maven wrapper
Sep 17, 2018
52bd3b5
refresh pom
Sep 17, 2018
38662d4
[maven-release-plugin] prepare release syslog-java-client-1.1.5
Sep 17, 2018
8b825f9
[maven-release-plugin] prepare for next development iteration
Sep 17, 2018
7b98bb0
Stub out methods for hostname and port in the AbstractSyslogMessageSe…
necouchman Jan 8, 2019
6a6137a
Merge pull request #29 from necouchman/abstract-host-port
Jan 8, 2019
c9b9107
Use SpotBugs
Jan 8, 2019
a5cc71e
Implement Closeable - fix #25
Jan 8, 2019
0a72fb0
Implement Closeable - fix #25
Jan 8, 2019
b133486
Bump mvn wrapper
Jan 8, 2019
e6649f0
Refresh pom.xml
Jan 8, 2019
2955653
[maven-release-plugin] prepare release syslog-java-client-1.1.6
Jan 8, 2019
1876f34
[maven-release-plugin] prepare for next development iteration
Jan 8, 2019
18f5923
update readme.md
Jan 8, 2019
4527935
Use user-provided SSLContext to create secure socket
Jan 15, 2019
779c299
reformat
Jan 15, 2019
8ed62dc
[maven-release-plugin] prepare release syslog-java-client-1.1.7
Jan 15, 2019
eca08ac
[maven-release-plugin] prepare for next development iteration
Jan 15, 2019
41e0120
Update README.md
Jan 16, 2019
4c16653
Fix typo on README.md fix #33 #32 #35
Jun 11, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
target
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar

.idea
*.iml
Expand Down
110 changes: 110 additions & 0 deletions .mvn/wrapper/MavenWrapperDownloader.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/

import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;

public class MavenWrapperDownloader {

/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL =
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";

/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";

/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";

/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";

public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());

// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: : " + url);

File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}

private static void downloadFileFromURL(String urlString, File destination) throws Exception {
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}

}
1 change: 1 addition & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
71 changes: 68 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,34 @@ Client library written in Java to send messages to a Syslog server.
* `SyslogMessageSender`: send messages to a Syslog Server. Support implementations
* `UdpSyslogMessageSender`: [RFC 3164 - The BSD syslog Protocol](http://tools.ietf.org/html/rfc3164) and [RFC 5426 - Transmission of Syslog Messages over UDP](http://tools.ietf.org/html/rfc5426)
* `TcpSyslogMessageSender`: [RFC 6587 - Transmission of Syslog Messages over TCP](http://tools.ietf.org/html/rfc5426) (including SSL support)
* `TcpSyslogMessageSender`: [RFC 5425 - Transport Layer Security (TLS) Transport Mapping for Syslog](http://tools.ietf.org/html/rfc5426) (including SSL support)
* `com.cloudbees.syslog.integration.jul.SyslogHandler`: java.util.logging handler to output log messages to a Syslog server.

## Release Notes and downloads

See https://github.com/CloudBees-community/syslog-java-client/releases/

## Using the Syslog Java Client with Maven

Add the following dependency in your pom.xml:

```xml
<dependency>
<groupId>com.cloudbees</groupId>
<artifactId>syslog-java-client</artifactId>
<version>1.1.7</version>
</dependency>
```

## Sample UDP sender using RFC 3164

```java
import com.cloudbees.syslog.Facility;
import com.cloudbees.syslog.MessageFormat;
import com.cloudbees.syslog.Severity;
import com.cloudbees.syslog.sender.UdpSyslogMessageSender;

...

// Initialise sender
UdpSyslogMessageSender messageSender = new UdpSyslogMessageSender();
Expand All @@ -22,20 +43,26 @@ messageSender.setDefaultAppName("myapp");
messageSender.setDefaultFacility(Facility.USER);
messageSender.setDefaultSeverity(Severity.INFORMATIONAL);
messageSender.setSyslogServerHostname("127.0.0.1");
messageSender.setSyslogServerPort(1234);
// syslog udp usually uses port 514 as per https://tools.ietf.org/html/rfc3164#page-5
messageSender.setSyslogServerPort(514);
messageSender.setMessageFormat(MessageFormat.RFC_3164); // optional, default is RFC 3164


// send a Syslog message
messageSender.sendMessage("This is a test message");
```

## Sample UDP sender using RFC 5424

```java
import com.cloudbees.syslog.Facility;
import com.cloudbees.syslog.MessageFormat;
import com.cloudbees.syslog.Severity;
import com.cloudbees.syslog.sender.UdpSyslogMessageSender;

...

// Initialise sender
SyslogMessageUdpSender messageSender = new SyslogMessageUdpSender();
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);
Expand All @@ -51,6 +78,12 @@ messageSender.sendMessage("This is a test message");
## Sample TCP sender using RFC 3164

```java
import com.cloudbees.syslog.Facility;
import com.cloudbees.syslog.MessageFormat;
import com.cloudbees.syslog.Severity;
import com.cloudbees.syslog.sender.TcpSyslogMessageSender;

...

// Initialise sender
TcpSyslogMessageSender messageSender = new TcpSyslogMessageSender();
Expand All @@ -70,6 +103,12 @@ messageSender.sendMessage("This is a test message");
## Sample TCP over SSL sender using RFC 3164

```java
import com.cloudbees.syslog.Facility;
import com.cloudbees.syslog.MessageFormat;
import com.cloudbees.syslog.Severity;
import com.cloudbees.syslog.sender.TcpSyslogMessageSender;

...

// Initialise sender
TcpSyslogMessageSender messageSender = new TcpSyslogMessageSender();
Expand All @@ -85,3 +124,29 @@ messageSender.setSsl(true);
// send a Syslog message
messageSender.sendMessage("This is a test message");
```

## Sample TCP over SSL sender using RFC 5425

```java
import com.cloudbees.syslog.Facility;
import com.cloudbees.syslog.MessageFormat;
import com.cloudbees.syslog.Severity;
import com.cloudbees.syslog.sender.TcpSyslogMessageSender;

...

// Initialise sender
TcpSyslogMessageSender messageSender = new TcpSyslogMessageSender();
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("127.0.0.1");
// syslog-tls usually uses port 6514 as per https://tools.ietf.org/html/rfc5425#page-11
messageSender.setSyslogServerPort(6514);
messageSender.setMessageFormat(MessageFormat.RFC_5425);
messageSender.setSsl(true);

// send a Syslog message
messageSender.sendMessage("This is a test message");
```
Loading