Welcome!

Java IoT Authors: Liz McMillan, Yeshim Deniz, Zakia Bouachraoui, Elizabeth White, Pat Romanski

Related Topics: @DevOpsSummit, Java IoT, @CloudExpo

@DevOpsSummit: Blog Post

Logging from Your Java Applications By @Logentries | @DevOpsSummit [#DevOps]

Using log4j2 has some benefits over log4j, and is quite easy to transition to from log4j

Logging from Your Java Application Using log4j2
By Sam O'Brien

In a previous post I described how you can log from your java applications to Logentries using log4j and logback with our open source le_java repository on github. Well now thanks to github user joshuadavis you can now log from log4j2 too!

See our product documentation on how to get started with le_java and log4j2, and here is theapache documentation for log4j2.

Using log4j2 has some benefits over log4j, and is quite easy to transition to from log4j using the log4j 1.x bridge, which simply involves changing your log4j dependency to log4j2's log4j-1.2-api.jar. There are some limitations on this method which are described in full here on the log4j2 migration documentation.

You can also change over to log4j2 API entirely, although the above can be a good stop-gap while you update your logging code.

Why use log4j2?
One of the most obvious changes in log4j2 is that it now supports message objects, which allows for direct logging of Java objects with the ability to write custom layouts, filters and lookups for them. This is in contrast to typical logging of a toString() method or grabbing individual fields as strings and concatenating them together with some user defined context. The log4j2 message objects set this up once and are subsequently reused, clarifying code for readability and DRYing it up. In general it is better to include as much contextual information as possible in a log event for future analysis, and putting all that formatting and contextual strings into your log methods every time can get ugly and difficult to read.

Something to bear in mind is that logentries supports named capture groups in our regex queries, so even unstructured data can be evaluated as a key value pair, aggregated and used in our dashboards and graphs. This means that you don't need to worry as much about the format of the data you are logging, just that it is there with some identifiable context. Using a message object to define this in log4j2 seems like a nice way to do this, and allows you to put more information into your log while keeping your code readable.

Log4j2 also removes some of the concurrency issues that were present in log4j and logback, including deadlock issues and provides some substantially increased throughput and reduced latency. Logging should be a cheap, asynchronous action in an application and done as frequently as desired. The plugin system is also very extensible, our own appender is added as a plugin for example, and this pattern allows for flexible addition of other third party appenders and extensions in future, you might not need to migrate to another logging library again.

Some sample configs
Our own sample configuration file for log4j2 is here.

Thanks to github user apiraino for this config which demonstrates writing to file, rolling file, console and Logentries.

More Stories By Trevor Parsons

Trevor Parsons is Chief Scientist and Co-founder of Logentries. Trevor has over 10 years experience in enterprise software and, in particular, has specialized in developing enterprise monitoring and performance tools for distributed systems. He is also a research fellow at the Performance Engineering Lab Research Group and was formerly a Scientist at the IBM Center for Advanced Studies. Trevor holds a PhD from University College Dublin, Ireland.

IoT & Smart Cities Stories
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...