As a Java programmer, we have developed many Java applications, including desktop applications, WEB applications and mobile applications. However, the log system is essential for a mature Java application. During the development and debugging stages, logs can help us locate bugs better and faster; during the operation and maintenance stage, the log system can help us record most of the exception information. This will help us better improve the system. This article will share some of the most commonly used Java logging framework components by Java programmers.
1. Log4j – the most popular Java log component
Log4j is an open source log component based on Java. Log4j is very powerful. We can output log information to the console, file, user interface, or to The operating system's event recorder and some system resident processes. What's more worth mentioning is that Log4j allows you to customize the log format and log level very conveniently, which can help developers fully control log information.
Official website: http://logging.apache.org/log4j/2.x/
The following is a simple example of using Log4j:
package com.mai.test; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Log4jTest { public static void main(String[] args) { Logger log = Logger.getLogger(Log4jTest.class); PropertyConfigurator.configure("src/log4j.properties"); log.debug("yes,debug"); log.info("yes,info"); log.error("yes,error"); log.warn("yes,warn"); } }
2. gclogviewer – Java log viewing tool
gclogviewer is a tool that supports jdk 6's gc log visualization tool. Compared with gcviewer, gclogviewer supports generating GC trend charts based on gc log, and also supports generating data trend charts required for tuning recommendations.
Official website: http://code.google.com/p/gclogviewer/
3. SLF4J – API-based Java logging framework
SLF4J provides a simple and unified logging interface for developers to configure and deploy You only need to implement this interface to implement the logging function. Logging API implementation can choose to directly implement logging APIs connected to SLF4J such as: NLOG4J, SimpleLogger. Corresponding adapters such as Log4jLoggerAdapter and JDK14LoggerAdapter can also be developed through the API implementation provided by SLF4J.
Official website: http://www.slf4j.org/
4. Flume – Apache log server
What was introduced before are some logging tools. Flume is a log analysis system. Flume is distributed. It has a very flexible architecture for collecting, aggregating and moving large amounts of log data, and provides a reliable and fault-tolerant system architecture.
Official website: http://flume.apache.org/
5. zLogFabric – Log storage system
zLogFabric is an integrated cross-platform logging solution that collects log information storage of each application through the messaging system into a centralized system. The modular design allows the server to store, forward, alert, and generate log statistics.
zLogFabric can collect data from files, syslog, log4j, log4net and Windows events.
Official website: http://www.zlogfabric.com/
6. logstash – Java log management tool
Logstash is a very powerful log management tool. With logstash, you can manage logs Transmit, process, manage and retrieve, and provide a web interface for developers to count and query log information.
Official website: http://www.logstash.net/
7. Commons Logging
The implementation of Commons Logging does not depend on specific logging implementation tools. It only provides some abstract interfaces for logging operations. It encapsulates other logging tools, such as Log4J, Avalon LogKit, and JDK 1.4.
Official website: http://commons.apache.org/proper/commons-logging/
8. Darks Logs
Darks Logs is similar to log4j and is also suitable for Java, Android and other projects, but Darks Logs is easier to use , and made great improvements to the Android side. Darks Logs adds an Appender to Sqlite log storage. It aims to solve the problem that Android logs cannot flexibly control common operations such as log level, format, save or display target, etc.
Official website: https://github.com/liulhdarks/darks-logs