Explore the log output configuration and formatting of Apache Log4J API

# Apache log4j API's log output configuration and formatting exploration ## introduce Apache Log4j is a Java log framework that is widely used in various Java applications.It provides a powerful log output configuration and formatting function to help developers better manage and analyze the log information of the application.This article will explore the log output configuration and formatting of the Apache Log4j API to introduce how to configure the target and level of the log output, and display some commonly used log format options. ## log output target configuration In LOG4J, logs can be output to different targets, such as consoles, files, databases, etc.Here are some common log output target configurations: ### output to the console You can output the log to the console by configured a consoleappender.The following is an example configuration: java import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.ConsoleAppender; import org.apache.log4j.SimpleLayout; public class ConsoleLoggerExample { private static final Logger logger = Logger.getLogger(ConsoleLoggerExample.class); public static void main(String[] args) { // Set the log output level as INFO logger.setLevel(Level.INFO); // Create an output APPENDER ConsoleAppender consoleAppender = new ConsoleAppender(); // Set the log formatting method as simpleLayout consoleAppender.setLayout(new SimpleLayout()); // Add Appender to the log recorder logger.addAppender(consoleAppender); // Print log message logger.info("This is an INFO message."); logger.error("This is an ERROR message."); } } The above code sets the log output level to Info, and outputs the log message to the console through ConsoleAppender.You can use the layout attribute to set the formatting method of the log. The SimpleLayout is used here. ### Output to the file You can use FileAPENDER to output the log to the file.The following is an example configuration that output the log to the file: java import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.FileAppender; import org.apache.log4j.PatternLayout; public class FileLoggerExample { private static final Logger logger = Logger.getLogger(FileLoggerExample.class); public static void main(String[] args) { // Set the log output level as INFO logger.setLevel(Level.INFO); try { // Create an APPENDER output to the file FileAppender fileAppender = new FileAppender(); // Set the log file path fileAppender.setFile("logs/application.log"); // Whether the setting is added to the existing log file fileAppender.setAppend(true); // Set the log formatting method as patternLayout fileAppender.setLayout(new PatternLayout("%d [%t] %-5p %c{1}:%L - %m%n")); // Add Appender to the log recorder logger.addAppender(fileAppender); } catch (Exception e) { logger.error("Failed to configure FileAppender.", e); } // Print log message logger.info("This is an INFO message."); logger.error("This is an ERROR message."); } } The above code sets the log output level to INFO, and outputs the log message to the file through FileAppender.You can use the setfile () method to set the path of the log file.In addition, you can also use the formatting method of the definition log with PatternLayout. Here, a formatting mode of an example is used. ## log Format option LOG4J provides a variety of log format options, which can customize the format of log output as needed.Here are some commonly used formatting options: - %d: output the time stamp of the log. - %T: The thread name of the output log. - %P: Output log level. - %C: Output log name. - %m: Message to output logs. - %N: Change of lines. You can also format the log output by using the conversion character: - %-5p: Qi the level of the log and keep the width of 5 characters. - %C {1}: Only output the last component of the class name. - %L: Output the number of code rows of logging. The following is an example of how to use these formatting options: java import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; public class CustomFormatLoggerExample { private static final Logger logger = Logger.getLogger(CustomFormatLoggerExample.class); public static void main(String[] args) { // Create an output APPENDER ConsoleAppender consoleAppender = new ConsoleAppender(); // Set the log formatting method as patternlayout, and customize the format consoleAppender.setLayout(new PatternLayout("%d [%t] %-5p %c{1}:%L - %m%n")); // Add Appender to the log recorder logger.addAppender(consoleAppender); // Print log message logger.info("This is an INFO message."); logger.error("This is an ERROR message."); } } The above code uses PatternLayout, and formats the log output through custom format%t,%-5p,%c {1} and%L.%T Output Name,%-5P will align the log level left and retain the width of 5 characters.%C {1} Only the last component of the class name, and the number of code rows recorded by%L output log records. ## in conclusion In this article, we explored the log output configuration and formatting function of the Apache Log4j API.We have learned how to configure the goals and levels of log output, and introduce some commonly used log format options.I hope these knowledge can help you better manage and analyze the log information of Java applications.