本文共 3223 字,大约阅读时间需要 10 分钟。
Log4j是Apache开源项目,用于在Java应用中便捷地管理日志信息。通过它,我们可以灵活配置日志输出的目的地、格式和级别,满足不同场景的需求。与其他日志组件如JDK Logger、Monolog等相比,Log4j以其灵活性和可配置性著称。
创建目录:
conf目录存放配置文件,lib目录存放日志相关JAR包。配置文件:
# 定义日志级别log4j.rootLogger = DEBUG, stdout# 输出到控制台的日志格式log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.Threshold = INFOlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%m%n使用示例:
public class TestLog4j { public static void main(String[] args) { PropertyConfigurator.configure("conf/log4j.properties"); Logger logger = Logger.getRootLogger(); logger.debug("调试信息"); logger.info("信息级别"); logger.warn("警告信息"); logger.error("错误信息"); }}ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
log4j.rootLogger = DEBUG, stdout
log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.out
System.out或System.err。log4j.appender.file = org.apache.log4j.FileAppenderlog4j.appender.file.File = logs/app.loglog4j.appender.file.Threshold = WARNlog4j.appender.file.layout = org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss,SSS} - %m%n append(LoggingEvent)方法。System.out或文件输出流。Layout实现格式化。public class MyAppender extends AppenderSkeleton { private OutputStream out; @Override protected void append(LoggingEvent loggingEvent) { String log = "Appender日志:" + getLayout().format(loggingEvent); try { byte[] bytes = log.getBytes(); out.write(bytes); out.flush(); } catch (IOException e) { e.printStackTrace(); } } public void setTarget(String target) { if (target.equals("System.out")) { out = System.out; } } @Override public void close() { closed = true; } @Override public boolean requiresLayout() { return true; }} import org.apache.log4j.Logger;import org.apache.logging.log4j.LogManager;通过以上配置和使用方法,可以充分利用Log4j的强大功能,实现高效的日志管理。
转载地址:http://peebz.baihongyu.com/