DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones Build AI Agents That Are Ready for Production
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
Build AI Agents That Are Ready for Production

Just dropped: New 2026 “Cloud-Native Foundations” Trend Report. See how teams are tackling complexity, cost & reliability.

Avatar

Keith Gregory

Senior Software Engineer at RJMetrics

Philadelphia, US

Joined Aug 2013

Stats

Reputation: 450
Pageviews: 289.5K
Articles: 9
Comments: 7
  • Articles
  • Comments

Articles

article thumbnail
Multi-Threaded Programming With AWS Lambda
If you're launching background tasks using AWS Lambda, you would do well to remember that it's not quite like a Java application.
January 25, 2019
· 52,311 Views · 5 Likes
article thumbnail
NAT Instance vs. NAT Gateway
This comparison of AWS NAT Instances and NAT Gateways considers when to use them and how they compare against each other.
Updated November 21, 2017
· 30,477 Views · 10 Likes
article thumbnail
Announcing log4j-aws-appenders
This new homebrew project will help append your Log4j logs to prep them for CloudWatch, giving you more visibility into EC2 apps.
August 17, 2017
· 17,477 Views · 6 Likes
article thumbnail
Managing Secrets With KMS
Password strength and security is an all important aspect of keeping your data secure. Learn how dev teams can use this AWS service to encrypt/decrypt passwords.
August 15, 2017
· 16,064 Views · 2 Likes
article thumbnail
MySQL: The Problem With Synthetic Primary Keys
MySQL manages primary keys as clustered indexes. That means you're looking a performance hit with some synthetic primary keys. Here's when to avoid them.
April 6, 2017
· 7,862 Views
article thumbnail
MySQL: When NOT IN Is Not Equal to NOT EXISTS
In MySQL, is "NOT IN" the same thing as "NOT EXISTS"? The answer is: not always. And, of course, nulls are at fault.
February 14, 2017
· 14,747 Views
article thumbnail
Hacking the VPC: ELB as a Bastion
Keeping your cloud machine instances secure is of paramount importance, but it's often hard to troubleshoot and expensive. An Elastic Load Balancer can help with that.
December 26, 2016
· 17,570 Views · 3 Likes
article thumbnail
Git Behind the Curtain: What Happens When You Commit, Branch, and Merge
Keith Gregory discusses object management, branches, merges, SHA-1, Git, and more in this talk script. Read on to learn all you need to know!
November 15, 2016
· 30,205 Views · 21 Likes
article thumbnail
Is Polyglot Programming Practical?
This article discusses the history of polyglot programming, and considers whether it's still a valid premise.
May 10, 2016
· 26,436 Views · 46 Likes

Comments

Announcing log4j-aws-appenders

May 08, 2020 · Mike Gates

I guess the documentation is not clear: this property is the name of a static method. You can't pass it parameters.

The idea is that inside that static method you can access whatever configuration mechanism your program uses. For example, you might need to use a proxy to access AWS.

You could also retrieve properties from the Log4J logging context.

I wish you the best, but this is all the help I can give you. This library might not be the best choice for your application.


Announcing log4j-aws-appenders

May 07, 2020 · Mike Gates

Regarding the exception: this is almost certainly because you're not including aws-java-sdk-logs in your deployment bundle. As I note in the README, all of the dependencies are marked as "provided" in Maven, to avoid introducing issues with incompatible versions. You need to explicitly specify all dependencies.


Regarding help with configuring access keys. As I said, the easiest way to do that would be for you to provide a static factory method. Example configuration for Log4J2 is here, and a sample implementation is here.

Announcing log4j-aws-appenders

May 07, 2020 · Mike Gates

You can implement a static factory method that does whatever you want. Otherwise, no.

Announcing log4j-aws-appenders

May 07, 2020 · Mike Gates

Storing access keys in a configuration file (which is likely to be checked-in to source control) is a security risk. Amazon has many other suggestions here. For production deployments, instance/Lambda roles are the way to go.

Announcing log4j-aws-appenders

Sep 15, 2018 · Mike Gates

I am currently in the process of splitting the back end writer code from the front-end appender code, with the intention of supporting other logging front-ends. I will probably do Logback first, as it's the logger of choice for Spring. But I have no timetable for this: it's one of several side-projects that I have.

However, there is one thing that I'd like to point out: true, Log4J 1.x is at end-of-life. It's not going to be updated. *But that doesn't mean that you should go through your codebase and replace it!* It's stable, and (relatively) bug-free. Even for new projects, I'd recommend sticking with Log4J 1.x if your current codebase uses it, albeit with SLF4J as the actual API that you use.

There are, of course, good reasons to change, one of the best being that you're using a framework like Spring that is based on a different logging framework. Or you have a business need to the features that another logging framework provides.

Hacking the VPC: ELB as a Bastion

Jan 11, 2017 · Duncan Brown

While commenting, I should also point out that the last two paragraphs were footnotes in the original post. As shown here, they don't make a lot of sense.

Hacking the VPC: ELB as a Bastion

Jan 11, 2017 · Duncan Brown

This is a hack: a useful shortcut that may be non-obvious. I found it particularly useful when developing a deployment script: I could quickly check the status of my instances without having to establish an explicit tunnel.

As for using this hack -- or a real bastion host -- versus a VPN: I believe that the VPN provides less security: because it essentially joins the networks together, it limits your ability to control who can connect to instances in the VPC. A bastion host, by comparison, provides an extra level of security: you must explicitly authorize access.

User has been successfully modified

Failed to modify user

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook