`
本来不想注册
  • 浏览: 197437 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

log4j 介绍(7)-- Example篇

阅读更多
在实际项目中,一般会采用读取配置文件的方式进行log控制,最常用的是log4j.properties

第一步: 新建一个java工程,名字就叫: logExample1
第二步: 在src目录下新建log4j.properties文件
代码如下:
#define the root logger
#appender's name is file and the level is INFO
log4j.rootLogger = INFO, file


log4j.appender.file = org.apache.log4j.RollingFileAppender

#the output file's name and directory
log4j.appender.file.File = ./out.log
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n


第三步:创建MyApp类,代码如下
package com.noodle.util;
import org.apache.log4j.Logger;
import com.noodle.pojo.Movie;

public class MyApp {
	static Logger logger = Logger.getLogger(MyApp.class);
		
	public static void main(String[] args){
		logger.info("application begin in main");
		Movie movie = new Movie();
		movie.watchIt();
		logger.info("application end in main");
	}
}


第四步:创建Movie类, 代码如下
package com.noodle.pojo;

public class Movie {
	static org.apache.log4j.Logger logger  = org.apache.log4j.Logger.getLogger(Movie.class);
	
	public void watchIt(){
		logger.warn("Watch movie");		
	}
}


第五步: 结果在logExample1目录下生成out.log里面的内容是:
INFO [main] (MyApp.java:12) - application begin in main
WARN [main] (Movie.java:7) - Watch movie
INFO [main] (MyApp.java:17) - application end in main

如果要跟踪一个事件,单独为这个事件,设定日志。 那么需要一个Logger instance 穿插于各个class之间,这样在properites里如何去写呢?

log4j.properties:
#define the root logger
#appender's name is file and the level is INFO
log4j.rootLogger = INFO, file


log4j.appender.file = org.apache.log4j.RollingFileAppender

#the output file's name and directory
log4j.appender.file.File = ./out.log
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n


log4j.logger.eventLogName = INFO, eventlog

#Properties are case sensitive.
#log4j.logger.EVENTLOGNAME = INFO, eventlog
#that is unable to print the log messages in the console.

log4j.appender.eventlog = org.apache.log4j.ConsoleAppender
log4j.appender.eventlog.layout = org.apache.log4j.PatternLayout
log4j.appender.eventlog.layout.ConversionPattern = %d{dd-MM-yyyy}, %d{HH:mm:ss}, %-5.5p, %m %n 


MyApp.java

package com.noodle.util;
import org.apache.log4j.Logger;

import com.noodle.help.AppConstant;
import com.noodle.pojo.Movie;

public class MyApp {
	static Logger logger = Logger.getLogger(MyApp.class);
	static Logger eventlogger = Logger.getLogger(AppConstant.EVENT);
	
	public static void main(String[] args){
		logger.info("application begin in main");
		eventlogger.info("this is the begin of the eventlog");
		Movie movie = new Movie();
		movie.watchIt();
		eventlogger.info("this is the end of the eventlog");		
		logger.info("application end in main");
	}
}


Movie.java

package com.noodle.pojo;

public class Movie {
	static org.apache.log4j.Logger logger  = org.apache.log4j.Logger.getLogger(Movie.class);
	
	public void watchIt(){
		logger.warn("Watch movie");		
	}
}


定义一个AppConstant.java

package com.noodle.help;

public class AppConstant {
	public final static String EVENT = "eventLogName";
}


这样,去运行以下,得到的结果是:
在out.log日志里输出:

INFO [main] (MyApp.java:12) - application begin in main
INFO [main] (MyApp.java:13) - this is the begin of the eventlog
WARN [main] (Movie.java:7) - Watch movie
INFO [main] (MyApp.java:16) - this is the end of the eventlog
INFO [main] (MyApp.java:17) - application end in main

而同时在控制台里输出了:
18-08-2009, 20:37:20, INFO , this is the begin of the eventlog
18-08-2009, 20:37:20, INFO , this is the end of the eventlog

Enjoy it!
分享到:
评论

相关推荐

    log4j多个简单实例

    本篇文章将深入探讨Log4j的多个简单实例,帮助你理解和掌握其基本用法。 首先,Log4j由三个主要组件构成:配置器(Configuration)、日志器(Logger)和布局(Layout)。配置器定义了日志信息的输出格式和位置;...

    Log4j 把不同包的日志打印到不同位置

    这篇博客"Log4j 把不同包的日志打印到不同位置"可能详细解释了如何利用Log4j配置来实现特定包的日志定向输出,以便于管理和分析来自不同模块的日志信息。 在Java应用中,我们常常会遇到多个模块或者不同包的类同时...

    log4j简述(架构、用法等)

    本篇文章旨在深入探讨 Log4j 的架构设计、基本用法以及性能特点。 #### 二、Log4j 的核心组件 Log4j 的设计围绕三大核心组件展开:**Logger**、**Appender** 和 **Layout**。这三个组件相互协作,确保日志记录既...

    log4j使用例子和文档

    本篇文章将深入探讨Log4j的使用,并通过实例进行讲解。 ### 1. Log4j的基本概念 - **Logger**: 日志器是Log4j的核心组件,负责生成日志消息。你可以根据需要创建多个Logger,每个Logger都有自己的名字和日志级别。...

    Log4j配置文件详细说明

    本篇将详细介绍Log4j的配置文件及其常用属性,旨在帮助初学者快速掌握Log4j的配置方法。 首先,Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,用于定义日志输出的行为。这里我们主要讨论基于文本格式的`...

    Log4j 邮件配置

    本篇文章将详细探讨Log4j 配置邮件发送的相关知识点。 1. **邮件通知功能** Log4j 提供了SMTPAppender,用于在特定的日志事件发生时发送电子邮件通知。这非常有用,因为开发者可以在问题发生时立即得到警报,无需...

    log4j输出日志到flume

    本篇将详细介绍如何利用Log4j将应用日志输出到Flume,以便进行集中管理和分析。 首先,Log4j是一款Java日志框架,它提供了灵活的日志记录功能,允许开发者根据需求定制日志级别、格式和输出目的地。Log4j的配置文件...

    Java 日志记录 log4j 最简明教程

    这篇教程将深入浅出地介绍如何使用log4j进行日志记录。 首先,log4j是一个开源的日志记录工具,由Apache软件基金会开发,主要服务于Java应用程序。它的核心组件包括Logger(日志器)、Appender(输出端)和Layout...

    Log4j日志管理系统简单使用说明1

    这篇日志管理系统简单使用说明将介绍Log4j的三个核心组件:Loggers、Appenders和Layouts,帮助你理解如何在Java应用程序中有效地使用Log4j进行日志管理。 1. **Loggers** - Loggers是日志记录的核心,它们定义了...

    log4j输出位置配置

    这篇博文主要探讨的是如何配置Log4j以改变日志输出的位置。 首先,我们要理解Log4j的核心配置文件——`log4j.properties`。这个文件使用键值对的形式定义了日志的行为和输出设置。在`log4j.properties`中,有以下几...

    log4j2使用入门

    这篇博客主要介绍了如何开始使用Log4j2,Log4j2是Apache的一个开源日志框架,它提供了灵活的日志记录功能,比其前一代Log4j更加高效和功能强大。通过学习Log4j2,开发者可以更好地管理和调试他们的应用程序,以便于...

    log4j的日志级别的调整

    本篇我们将深入探讨如何调整log4j的日志级别,以便更好地管理和控制应用程序的日志输出。 首先,我们要理解日志级别在log4j中的含义。Log4j提供了多个预定义的日志级别,按照严重性从低到高排序,包括TRACE、DEBUG...

    Spring Aop+Log4j 动态日志

    本篇将详细探讨如何结合Spring AOP和Log4j实现动态日志记录。 Spring AOP是Spring框架的一个重要特性,它允许我们以一种声明式的方式处理横切关注点,如日志、事务管理等。AOP的核心概念包括切面(Aspect)、通知...

    (转)如何自建appender扩展Log4j框架

    本篇文章将探讨如何根据需求自建Appender,扩展Log4j框架。 在Log4j中,Appender是负责将日志信息输出到特定目的地的组件。默认情况下,Log4j提供了多种Appender,如ConsoleAppender(控制台输出)、FileAppender...

    log4j配置教程mht

    这篇教程将带你深入理解并掌握如何配置Log4j,以便在你的Java项目中有效地使用它。 首先,我们要了解Log4j的基本组件: 1. **Logger**: 日志记录器,它是日志的起点,负责生成日志信息。一个应用可以有多个logger...

    log4j配置

    这篇博文将深入探讨Log4j的配置与使用。 首先,我们要理解Log4j的基本结构。Log4j包含三个主要部分:Logger(日志器)、Appender(输出端)和Layout(格式化器)。Logger负责生成日志事件,Appender决定这些事件将...

    spring-boot-log4j2-example

    本篇将详细介绍如何在Spring Boot项目中整合Log4j2,以实现高效、灵活的日志管理。 首先,我们创建一个名为"spring-boot-log4j2-example"的项目,这通常是一个Maven或Gradle工程。Spring Boot项目的基础结构包括`...

    log4j配置文件

    本篇将深入探讨Log4j的配置文件——`log4j.properties`。 ### 1. 日志级别 Log4j提供了五个级别的日志记录,从低到高分别是:DEBUG、INFO、WARN、ERROR和FATAL。开发者可以根据需要设置不同的级别,过滤不必要的...

    Spring5整合Log4j2日志工具Jar

    本篇文章将深入探讨如何在Spring 5中整合Log4j2日志工具,以实现高效、灵活的日志管理。 首先,我们来理解Spring 5和Log4j2的基本概念。Spring 5是Spring框架的一个主要版本,提供了更强大的功能和性能优化,支持...

    lo4j配置文件.rar

    本篇文章将详细解析Lo4j配置文件,帮助开发者更好地理解和利用这一强大的工具。 一、Log4j的概述与重要性 在Java开发中,日志记录扮演着至关重要的角色,它能够帮助我们追踪程序运行状态,定位错误和异常,进行性能...

Global site tag (gtag.js) - Google Analytics