Skip to main content

Everybody struggles!

I am an Outreachy intern working under the Jenkins Organization on the Audit Log plugin development.

It's a plugin to be used with Jenkins for auditing purposes. It uses Log4j Audit and currently adds the audit logs to a configured file. On which I picked up a task that makes the IANA enterprise number configurable.

Here is the wiki link to know more about the IANA(Internet Assigned Numbers Authority) enterprise number.

As mentioned above, currently, the audited logs are appended to a file present in a configured location. There are other appenders available to be configured provided by Log4j Audit.

IANA Enterprise number is related to syslog appenders. Syslog appender writes its output to a remote destination specified by a host and port in a specific format. The data can be sent over either TCP or UDP.

I worked on configuring only a syslog appender and it worked fine.

Now came the real use case. We need to make such appenders configurable by means of the plugin settings. So with the help of the mentor, I worked on using a Routing Appender that routes the logs to an appropriate appender destination based on the configuration.

At this phase, I fell into an issue. When one of the appenders is chosen by configuration, the other appender tries to get created causing an issue. We initially thought that this could be an issue with Log4j Audit.

I spent many hours debugging it to look at all the possibilities but failed to arrive at a solution.

My mentor helped to widen the context for debugging and also provided a suggestion by communicating directly to one of the developers from Log4j Audit.

He also posted the same to the mailing-list of Log4j Audit to get any further help on the topic. My pull request on the task is still open and I am hoping to resolve the issue and update it very soon.

During the course of the Outreachy program, Outreachy organizers send many prompts that help the interns to write their blogs. I shall now answer the prompts so that the blog will be covering most of the scenarios that any intern like me may come across during the course of the internship.

 - What were you stuck on?

As explained above, I am stuck on an issue of configuring appenders that delivers the audit logs to varied destinations.

 - Why was it confusing or hard?

It was difficult to pinpoint the error in the configuration. Things look fine as they are mentioned in the documentation.

 - What did you try that didn't work?

I tried varied possibilities of configuring it and also shared the report with the mentor.

 - Where did you search for help?

I searched online at StackOverflow and also skimmed through their documentation multiple times.
My mentor reached out to a developer of Log4j Audit and also posted the error logs to the mailing list of Log4j Audit.

- What resources did you find?

With some help, we figured out a workaround and also tried to understand the cause of the issue.

- Were any of those resources out of date or confusing?


- Were you hesitant to reach out for help, and if so, why were you hesitant?

Initially, Yes. Later I was clueless when I reached out to my mentor. As the configurations seem to be well documented, I do not want to reach out to my mentor without having done enough background work on the task.

 - What happened when you reached out for help?

I was able to understand the issue better and also the probable causes that could be causing the issues.
Also, Morally, I felt a lot supportive.

 - What would you tell someone who is worried about asking for help?

Please reach out to your mentors or the community for help. It is ok to be a newbie.

I am still working on the task. I covered three listed tasks in the same open pull request and hope to get it merged soon after having this issue resolved.

Thanks for your time reading my blog,


Popular posts from this blog

How to apply to Outreachy?

I am glad that you have decided to apply to Outreachy and also looking for ways to get your application in and successful. I am Gayathri Rajendar and I am part of the May 2019 to August 2019 Outreachy program through Jenkins. I work on the development of a Jenkins plugin along with another intern Aarthi Rajaraman.
As you already know, Outreachy is an internship program that supports diversity in free and open source software. Being an Outreachy intern, I can work remotely and are not required to move. On successful completion, I will likely be paid a stipend of $5,500 USD for the three-month internship. Also, I may get a $500 USD travel stipend to attend conferences or events.
Given a lot of learning and benefits, there is considerable competition to get into the program. Still, you can make it if you choose the right project that matches your skills and also work closely with the mentors of the project. Throughout my experience applying to Outreachy, mentors are very much helpfu…