Logback Extensions
Extensions for Logback logging library mainly for appenders aimed for Amazon Web Services, including CloudWatch Logs, DynamoDB, Kinesis, SNS and SQS appenders. Contains also high performance asynchronous appender based on LMAX disrupotr and some utilities like Jackson JSON encoder.
This project was forked and repackaged from trautonen/logback-ext. The groupId
has been renamed, but artifactId
and source-packages are left intact.
Using Logback Extensions
Logback Extensions requires Java 7 or newer. Include desired modules in your project's dependency management and configure the appenders or encoders using Logback's XML configuration or Java API.
Modules
All modules belong to group io.redlink.ext.logback
. See each module for specific documentation.
- Extensions core module: logback-ext-core
- AWS core module: logback-ext-aws-core
- Jackson JSON encoder: logback-ext-jackson
- LMAX Disruptor appender: logback-ext-lmax-appender
- CloudWatch appender: logback-ext-cloudwatch-appender
- DynamoDB appender: logback-ext-dynamodb-appender
- Kinesis appender: logback-ext-kinesis-appender
- SNS appender: logback-ext-sns-appender
- SQS appender: logback-ext-sqs-appender
AWS Authentication
All AWS based appenders require IAM authentication. The default credentials provider from org.eluder.logback.ext.aws.core.AwsSupport
creates a credential chain in the following order.
- Environment variables
AWS_ACCESS_KEY_ID
andAWS_SECRET_KEY
- System properties
aws.accessKeyId
andaws.secretKey
- Appender configuration properties
accessKey
andsecretKey
- AWS profile configuration file
~/.aws/credentials
- EC2 instance role
Best practice for EC2 instances is to use instance role only. With instance role no access keys or secret keys are exposed if the server is compromised.
Continuous Integration
TravisCI builds the project with Oracle JDK 7 and 8. Builds created with Oracle JDK 7 are deployed to Sonatype OSSRH.