Log4j基础

package com.cn21.yao.service;

import org.apache.log4j.Logger;

public class UserService {
    //方法一:
    //public static final Logger logger = Logger.getLogger("test");//会去找log4j.properties中的log4j.logger.test
    //方法二:
    public static final Logger logger = Logger.getLogger(UserService.class);
//此时在log4j.properties中log4j.logger.com.cn21.yao.service = WARN, file可以不要,用log4j.rootLogger=WARN, file代替
    public void add()
    {
        /*//设置日志保存的目录为项目的log目录
        String url = UserService.class.getClassLoader().getResource("").getPath();
        url = url.replace("bin/", "log/");
        System.setProperty("LOG_DIR", url);*/
        /**
         * 可以为日志设置不同的级别,在Log4j中
         * debug < info < warn < error < fatal
         */
        logger.debug("添加用户信息");
        logger.info("添加用户信息");
        logger.warn("添加用户信息");
        logger.error("添加用户信息");
        logger.fatal("添加用户信息");
    }
}
package com.cn21.yao.dao;

import org.apache.log4j.Logger;

public class UserDao {
    public static final Logger logger = Logger.getLogger(UserDao.class);
    public void add()
    {
        /**
         * 可以为日志设置不同的级别,在Log4j中
         * debug < info < warn < error < fatal
         */
        logger.debug("添加用户信息");
        logger.info("添加用户信息");
        logger.warn("添加用户信息");
        logger.error("添加用户信息");
        logger.fatal("添加用户信息");
    }
}

log4j.properties

# Root logger option(out--->the way to output,it can be whatever you want,but be consistent with the content below)
#log4j.rootLogger=DEBUG, out, file 输出日志
log4j.rootLogger=DEBUG, out

# Direct log messages to stdout
log4j.appender.out=org.apache.log4j.ConsoleAppender  #控制台方式显示
log4j.appender.out.Target=System.out
log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1}:%L - %m%n

#方式1.
#log4j.logger.test = WARN, file, out
#方式2.
log4j.logger.com.cn21.yao.service = WARN, file
# Direct log messages to a log file
#方式1.
#log4j.appender.file=org.apache.log4j.RollingFileAppender
#方式2.
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender

#Redirect to Tomcat logs folder
#log4j.appender.file.File=${catalina.home}/logs/logging.log

#方式1.采用绝对路径保存在本地
#log4j.appender.file.File=F:\\user.log
#方式2.采用相对路径保存
log4j.appender.file.File=${LOG_DIR}user.log

#方式2.针对DailyRollingFileAppender
log4j.appender.file.datePattern=‘.‘yyyy-MM-dd-HH 

#1.针对RollingFileAppender
#log4j.appender.file.MaxFileSize=10MB
#1.针对RollingFIleAppender
#log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

测试:

package test;

import org.junit.Test;

import com.cn21.yao.dao.UserDao;
import com.cn21.yao.service.UserService;

public class MyTest {
    @Test
    public void consoleLog()
    {
        UserDao ud = new UserDao();
        ud.add();
    }
    @Test
    public void fileLog()
    {
        //设置日志保存的目录为项目的log目录
                String url = UserService.class.getClassLoader().getResource("").getPath();
                url = url.replace("bin/", "log/");
                System.out.println("url:"+url);
                System.setProperty("LOG_DIR", url);
        UserService us = new UserService();
        us.add();
    }
}
时间: 2024-10-13 13:34:14

Log4j基础的相关文章

Log4J基础详解及示例大全(转)

log4j可以通过使用配置文件的方式进行配置. 配置步骤如下: 1.定义日志组件logger 每个logger都可以拥有一个或者多个appender,每个appender表示一个日志的输出目的地,比如console或者某个文件. 配置root Logger的语法为: log4j.rootLogger=[priority],appenderName,appenderName,...- 配置自定义Logger组件的语法为: log4j.logger.loggerName=[priority],app

Log4j基础知识

Log4J是Apache的一个开放源代码的项目.通过使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程. Log4j的组成: Log4j由三个重要的组成构成:日志记录器(Loggers),输出端(Appenders)和日志格式化器(Layout). Appender.Layout分别是输出端和日志格式化器的祖先,下图显示了他们的对应关系. 日志记录器Logg

log4j 基础

Log4j是apache的一个开源项目,用来操作程序日志信息的框架.因便于管理,在工程中用来代替System.out打印语句.通过配置Log4j中的log4j.properties,可以指定日志信息的级别,输出地点,输出格式.一.LOG4J组成   Log4j的有3大主要组件:      1,Logger:记录器,决定什么日志信息应该被输出.什么日志信息应该被忽略.      2,Appender:存放器,指定日志信息应该输出到什么地方,可以是控制台.文件.网络设备.      3,Layout

log4j 基础教程

参考引用自------>http://javacrazyer.iteye.com/blog/1135493 基于log4j的运行方式 import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class TestLog4j { static Logger logger = Logger.getLogger(TestLog4j.class); public static void mai

Log4J日志配置详解

一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR <

log4j.properties文件的配置

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用

log4j 配置详解

一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR <

【转】 log4j输出多个自定义日志文件

原文链接 http://blog.csdn.net/janestone/article/details/1862678 log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况, 怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?其实只要在 现有的log4j基础上稍加配置即可轻松实现这一功能. 先看一个常见的log4j.properties文件,它是在控制台和myweb.log文件中记录日志: log4j.rootLogger=DEBUG, stdout

(转)Log4j详解

一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR <